سلام
به چه صورت میشه نوع فایلی که کاربر آپیود میکنه رو کنترل کرد
مثلا کاربر فقط بتونه فایل zip ارسال کنه در غیر اینصورت برنامه ارور بده
سلام
به چه صورت میشه نوع فایلی که کاربر آپیود میکنه رو کنترل کرد
مثلا کاربر فقط بتونه فایل zip ارسال کنه در غیر اینصورت برنامه ارور بده
خب یه دستور هست که پسوند فایل رو میده. اگه هم نیست که خودت می تونی آخرین کاراکتر نقطه توی فایل رو پیدا کنی(نام فایل رو بر اساس کاراکتر نقطه خرد کن و خونه ی آخر آرایه رو بخون).
function Return_Extension($file_name)
{
$ext = substr(strrchr($file_name, '.'), 1);
$ext = strtolower($ext);
return $ext;
}
تابع فوق سمت سرور پسوند فايل رو بر ميگردونه اما بد نيست سمت كلاينت با جاوا اسكريپت هم فايل رو چك كني
function check_file_extention(fname,ext)
{
var badName="", allBlank=true, rx,strtmp;
strtmp=fname.replace(/^\s+/,'').replace(/\s+$/,'');
if( strtmp!='' )
{
allBlank=false;
//----
// main if( !rx.test(e[i].value) ) badName+='\n\n' + e[i].value;
var ext_array,k;
ext_array=ext.split(",");
ext_sw=false;
for (k=0;k<ext_array.length;k++)
{
rx=new RegExp("[^\.]\."+ext_array[k]+"\s*$", "i");
if( rx.test(fname) ) ext_sw=true;
}
if( !ext_sw ) return false;
else return true;
//------------------------
}
else return false;
}
var filename2=document.getElementById('userfile1').val ue;
if(!(check_file_extention(filename2,'png,gif,jpg') ))
{
error//
sw=false;
}
آخرین ویرایش به وسیله اعظم : چهارشنبه 14 مرداد 1388 در 10:35 صبح
من گفتم که. خودت اسم فایل رو بر اساس نقطه خرد کن و خانه آخر آرایه رو بخون
چون خوب جواب نميده الان دقيقا يادم نمياد دليلش رو ولي يادم مياد يكي از كدهاي من بعد از مدتي از كار افتاد مشكلش هم دقيقا اين كد بود و بعد از اون من جايگزينش كردم با كد خودم ( فكر كنم در برخي بروزرها جواب نميداد چون فايل به صورت فايل tmp به سرور منتقل ميشه و در واقع مشخصات فايل بايد توسط بروزر ارسال بشه )
نه فايل ارسال ميشد اما تست نوع فايل انجام نميشد و من در اون برنامه فايل تست مي كردم و بعد اسم رو عوض مي كردم و پسوند تشخيص داده شده رو به اون اضافه مي كردم اما خطايي كه رخ ميداد اين بود كه فايلها بدون پسوند ذخيره مي شدند ! پسوند رو تشخيص نمي داد ( نوع فايل رو )
كدي كه گفتي رو هم هميشه استفاده ميكنم
اصلا مربوط نمیشه !!!
البته مربوط ميشه ، يك مثال خيلي ساده : براي يك عكس ثابت و مشخص
firefox, chrom : image/jpeg
ie :image/pjpeg
الگوريتم تغيير نام در اون برنامه به شكل ديگه اي بود
در واقع هم ميخواستم مطمئن بشم فايل جزء فايل هاي مجاز براي آپلود هستش و بعد تغيير نامش بدم