A-AA+then

การอัปโหลดไฟล์ เราต้องทำการอัปโหลดผ่านฟอร์มครับ โดยต้องกำหนด enctype="multipart/form-data" ให้กับฟอร์มเสมอ และสามารถใช้ฟอร์ม ร่วมกับ input แบบอื่นๆได้ตามปกติ

การอัปโหลดครั้งละหลายๆไฟล์ มีข้อควรระวัง คือการเกิด time out ระหว่างการอัปโหลด อันเกิดจาก เน็ตที่ใช้อยู่ช้า หรือ ไฟล์มีขนาดใหญ่เกินไป
  
ตัวอย่างโค้ด นี้สามารถอัผโหลดได้ครั้งละหลายๆไฟล์ครับ มีตัวอย่างทั้งฟอร์มสำหรับ ส่งไฟล์ และ การรับไฟล์

<?php
 //รับค่าไฟล์ที่อัปโหลดมา
 $fileuploads[0] = $_FILES["fileupload0"];
 $fileuploads[1] = $_FILES["fileupload1"];
 $fileuploads[2] = $_FILES["fileupload2"];
 $fileuploads[3] = $_FILES["fileupload3"];
 $fileuploads[4] = $_FILES["fileupload4"];


 //ตัวแปร $action รับค่ามาจากการโพสต์
 //ถ้ากำหนดสถานะเป็น upload จะเป็นการ upload
 //ถ้าไม่กำหนดมาจะเป็นการรอรับไฟล์ที่จะอัปโหลด
 if ( isset( $action ) && $action == "upload" )
 {
  //อัปโหลดทีละไฟล์
  for ( $i = 0 ; $i < count( $fileuploads ) ; $i++ )
  {
   //แสดงผลค่าที่ส่งมา
   echo $fileuploads[$i][name]."<br />";
   echo $fileuploads[$i][tmp_name]."<br />";
   echo $fileuploads[$i][type]."<br />";
   echo $fileuploads[$i][size]."<br />";
   echo '-----------<br />';

   //ทำการอัปโหลดไฟล์ไปยัง path/to/ชื่อไฟล์เดิม
   copy($fileuploads[$i][tmp_name], 'path/to/'.$fileuploads[$i][name]);
  };
 };
?>
 
<!--สำหรับการอัพโหลด-->
<form method="post" action="?action=upload" enctype="multipart/form-data">
<input type="file" name="fileupload0" class="orenge" size="40"><br>
<input type="file" name="fileupload1" class="orenge" size="40"><br>
<input type="file" name="fileupload2" class="orenge" size="40"><br>
<input type="file" name="fileupload3" class="orenge" size="40"><br>
<input type="file" name="fileupload4" class="orenge" size="40"><br>
<input type="submit" name="Submit" value="อัปโหลด" class="orenge">
</form>

Relate

^