PDA

View Full Version : اجازه اپلود فایل php



abasfar
پنج شنبه 30 دی 1389, 01:13 صبح
دئستان عزیز من میخوام به کاربران اجازه اپلود فایل php ندم به همین خاطر بروی case 'application/octet-stream': فیلتر گزاشتم اما حالا zip هم اپلود نمیشه

abasfar
پنج شنبه 30 دی 1389, 10:13 صبح
کمک لطفا کمک کنید

abasfar
جمعه 01 بهمن 1389, 16:30 عصر
یعنی مدیران هم نمیدونن

binyaft
جمعه 01 بهمن 1389, 17:09 عصر
یعنی مدیران هم نمیدونن
!!!!!!!!!!!

دوست عزیز برای فیلتر کردن فرمت های مختلف بهتر هست فرمت هایی که مجاز هستند رو در یک ارایه بریزید و فرمت فایل رو در in_array با فرمت های مجاز مقایسه کنید

abasfar
جمعه 01 بهمن 1389, 17:21 عصر
ممنون از جواب شما
میشه بیشتر توضیح بدید خوب من که راضی هستم فرمت ها را محدود کنم اما مرورگرها مختلف فرمت های مختلفی را میدن

abasfar
جمعه 01 بهمن 1389, 17:22 عصر
فرمتهایی که من اجازه میدم وهمچنین مدیریت فرمت من به این صورت است



switch($_FILES["item_file"]["type"]["$j"]) {
case 'image/jpg':
case 'image/jpeg':
case 'image/jpe':
case 'image/gif':
case 'image/png':
case 'image/x-png':
case 'image/bmp':
case 'image/*' :
$folder='image/';
$typeok="yes";
break;
case 'doc' :
case 'application/msword' :
case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
case 'docx' :
case 'ppt' :
case 'pps' :
case 'rtf' :
case 'pdf' :
case 'application/pdf' :
case 'application/vnd.ms-xpsdocument' :
$folder='document/';
$typeok="yes";
break;
case 'application/octet-stream':
case 'application/x-bzip' :
case 'application/x-bzip2' :
case 'application/x-gzip' :
case 'application/x-zip' :
case 'application/x-zip-compressed' :
case 'application/zip' :
case 'zip' :
case 'application/x-zip-compressed' :
case 'application/x-rar-compressed' :
$folder='archive/';
$typeok="yes";
break;
case 'audio/*' :
case 'application/x-shockwave-flash':
case 'application/vocaltec-media-file' :
case 'mpeg' :
case 'mpg' :
case 'mpe' :
case 'mp3' :
case 'wav' :
case 'video/*' :
case 'aif' :
case 'avi' :
case 'video/msvideo' :
case 'audio/aiff' :
case 'video/x-ms-wmv' :
case 'video/quicktime' :
case 'application/x-shockwave-flash' :
case 'wmv' :
case 'mov' :
case 'flv':
case 'swf' :
$folder='video/';
$typeok="yes";
break;
}

binyaft
جمعه 01 بهمن 1389, 18:57 عصر
اووووووو
نیاز به نوشتن این همه کد نیست که!

شما فرمت هایی که میخوای بریز داخل ارایه



<?php

$formats=array('jpg','png','gif');

?>




حالا فرمت فایل اپلود شده رو بگیر


$file_format=end(explode('.',$_FILES['file']['name']));



و حالا چک کنید ببینید که فرمت اپلود شده مجاز هست یا نه


<?php

if(in_array($file_format,$formats)){
// mojaz va upload ...
}
else
{
// gheyre mojaz
}

?>

abasfar
جمعه 01 بهمن 1389, 19:12 عصر
یعنی با اسم فایل را تشخیص بدم که چه فرمتی است
فقط راه های دور زدنش چی کار کنم مثلا 123.exe.jpg

binyaft
جمعه 01 بهمن 1389, 21:23 عصر
خوب اگر طبق مثال بالا فرمت 123 باشه توسط سیستم ناشناخته هست!