PHP Upload ตัวนี้ จะทำการ Random ชื่อไฟล์ที่ทำการอับโหลดขึ้นมาเพื่อป้องกันการ ซ้ำกันของไฟล์
PHP Script Upload นี้ทำการ เขียนชนิดของไฟล์ ที่อนุญาติให้อับโหลด

หากต้องการคัดลอกไปเผยแพร่ กรุณาทำการเชื่อมโยงลิงค์ กลับมายัง Page นี้ด้วยนะครับ
บทความโดยคุณ มีน จาก http://www.ireallyhost.com

ก่อนอื่นเลย หน้ารับไฟล์ Form.php
<from action="Post.php" method="post"  ENCTYPE="multipart/form-data">
File Upload : <input name=QPic type=file>
<input type="submit" value="  POST ">
</from>

เสร็จแล้วครับ ในหน้าของ การส่งค่า
ต่อไปการรับค่า

=============================================================
ไฟล์ Post.php

สมมุติว่า เราต้องการแบ่งประเภท การอับโหลด เป็น video และ image คือภาพนะครับ

<?
/ ทำการกำหนด ค่าตัวแปล
/ ขนาดไฟล์ วีดีโอ ที่สามารถอับโหลดได้ / Vedio Size can upload
 $Vedio_limit_size = 10240000; / ไฟล์ที่อับโหลดได้ 10 MB
 $Vedio_limit_size_msg = " 10 MB ";

/ ขนาดไฟล์ ภาพ ที่สามารถอับโหลดได้ / Image Size can upload
 $Image_size = 512000; / 500 KB
 $Image_msg = " 500 kb ";

$path = "upload/"; / กำหนดโฟลเดอร์ ที่ต้องการเก็บไฟล์

if($_POST['QPIC']) { / เช็คหน่อยว่า มีการอับโหลดรูปมาไหม ถ้ามี ให้ทำใน if

/เริ่มต้นด้ว ทำการ Random เปลี่ยนชื่อไฟล์ ที่ทำการอับโหลด
srand((double)microtime()*1000000); 
$QPic_name=$random_pic = rand(1,9999);

/ เป็นการกำหนด ชนิด ไฟล์ ภาพ และ วีดีโอ ครับ
$filesVedio = array("video/x-ms-wmv","video/x-msvideo","video/mpg","video/mpeg","video/mpeg2", "video/mov", "video/avi","video/x-flv","video/quicktime","video/mp4","video/x-m4v");
$filesImage = array("image/gif", "image/bmp", "image/png", "image/jpg", "image/jpeg", "image/pjpeg"); #,"application/x-shockwave-flash"

/ สร้างตัวแปลมาไว้ตรวจสอบเงื่อนไขการอับโหลด
$ok=0;

/ เริ่มต้นด้วยการตรวจสอบ ไฟล์ ที่อับโหลดมา อยู่ในเงื่อนไข หรือไม่
if (in_array($QPic_type,  $filesVedio)){
 $ok=1; 
 $fileUploadType = "vedio";
  if ($QPic_size > $Vedio_limit_size){
   echo "วีดีโอ ขนาดใหญ่เกินกำหนด ( $Vedio_limit_size_msg )<br>";  $ok=0;
  }
}else  if (in_array($QPic_type,  $filesImage)){
 $ok=1;
 $fileUploadType = "image";
  if ($QPic_size > $Image_size){
   echo "ภาพ ขนาดใหญ่เกินกำหนด ( $Image_msg ).<br>";  $ok=0;
  }
}else { 
 echo "ไฟล์ที่สามารถอับโหลดได้ (ภาพ .gif .bmp .png .swf .jpg .jpeg) <br>";
 echo "( วีดีโอ .wmv .avi .mpg .flv .mov .m4v .mp4 .3gp) เท่านั้น !!";
 $ok=0;
}

/ ทำการตรวจสอบสถานะ เงื่อนไข การ upload file
if ($ok==0){
 Echo "เกิดความผิดพลาด !";
}else{

    $filename=$QPic_name. basename( $_FILES['QPic']['name']);
    $target = "$path/";
    $target = $target .$filename;

   if(move_uploaded_file($_FILES['QPic']['tmp_name'], $target)){
    echo  "The file $filename (Type is :$fileUploadType ) has been uploaded "; / อับโหลดสำเร็จ
   }else{
    echo  "เกิดปัญหาบางประการในการอับโหลด.";
   }
}

}

?>

หวังว่าจะเป็นประโยชน์ไม่มากก็น้อยนะครับ
เดี่ยวผมต้องขอตัวไปพักผ่อนก่อนแล้วครับ ง่วงนอนมากเลย
หากท่านใด ลองนำไปใช้งาน พบปัญหา ส่วนใด รบกวนนำมาช่วยแชร์เพื่อปรับปรุงแก้ไขด้วยนะครับ
ขอบคุณมากครับ
มีน.
http://www.ireallyhost.com


Extension  File อื่นๆ ครับ

$ct['htm'] = 'text/html';
$ct['html'] = 'text/html';
$ct['txt'] = 'text/plain';
$ct['asc'] = 'text/plain';
$ct['bmp'] = 'image/bmp';
$ct['gif'] = 'image/gif';
$ct['jpeg'] = 'image/jpeg';
$ct['jpg'] = 'image/jpeg';
$ct['jpe'] = 'image/jpeg';
$ct['png'] = 'image/png';
$ct['ico'] = 'image/vnd.microsoft.icon';
$ct['mpeg'] = 'video/mpeg';
$ct['mpg'] = 'video/mpeg';
$ct['mpe'] = 'video/mpeg';
$ct['qt'] = 'video/quicktime';
$ct['mov'] = 'video/quicktime';
$ct['avi'] = 'video/x-msvideo';
$ct['wmv'] = 'video/x-ms-wmv';
$ct['mp2'] = 'audio/mpeg';
$ct['mp3'] = 'audio/mpeg';
$ct['rm'] = 'audio/x-pn-realaudio';
$ct['ram'] = 'audio/x-pn-realaudio';
$ct['rpm'] = 'audio/x-pn-realaudio-plugin';
$ct['ra'] = 'audio/x-realaudio';
$ct['wav'] = 'audio/x-wav';
$ct['css'] = 'text/css';
$ct['zip'] = 'application/zip';
$ct['pdf'] = 'application/pdf';
$ct['doc'] = 'application/msword';
$ct['bin'] = 'application/octet-stream';
$ct['exe'] = 'application/octet-stream';
$ct['class']= 'application/octet-stream';
$ct['dll'] = 'application/octet-stream';
$ct['xls'] = 'application/vnd.ms-excel';
$ct['ppt'] = 'application/vnd.ms-powerpoint';
$ct['wbxml']= 'application/vnd.wap.wbxml';
$ct['wmlc'] = 'application/vnd.wap.wmlc';
$ct['wmlsc']= 'application/vnd.wap.wmlscriptc';
$ct['dvi'] = 'application/x-dvi';
$ct['spl'] = 'application/x-futuresplash';
$ct['gtar'] = 'application/x-gtar';
$ct['gzip'] = 'application/x-gzip';
$ct['js'] = 'application/x-javascript';
$ct['swf'] = 'application/x-shockwave-flash';
$ct['tar'] = 'application/x-tar';
$ct['xhtml']= 'application/xhtml+xml';
$ct['au'] = 'audio/basic';
$ct['snd'] = 'audio/basic';
$ct['midi'] = 'audio/midi';
$ct['mid'] = 'audio/midi';
$ct['m3u'] = 'audio/x-mpegurl';
$ct['tiff'] = 'image/tiff';
$ct['tif'] = 'image/tiff';
$ct['rtf'] = 'text/rtf';
$ct['wml'] = 'text/vnd.wap.wml';
$ct['wmls'] = 'text/vnd.wap.wmlscript';
$ct['xsl'] = 'text/xml';
$ct['xml'] = 'text/xml';



เช่น ต้องการให้อับโหลดไฟล์ mov ได้
จาก $ct['mov'] = 'video/quicktime';

นำ video/quicktime มาเพิ่มใน
$filesVedio = array("video/x-ms-wmv","video/quicktime");

แบบนี้ครับ ง่ายๆ ใช่ไหมครับ ลองดูนะครับ


ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support