สอนเขียนภาษา PHP upload image หลายรูปภาพพร้อมกัน ตัวอย่างแนะนำการใช้คำสั่ง multiple เพื่อให้ปุ่มอัปโหลดไฟล์สามารถเลือกรูปภาพได้หลายรูปภาพ เพื่อส่งให้ PHP upload image หลายรูปภาพพร้อมกัน สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง PHP upload image หลายรูปภาพพร้อมกัน ด้วย multiple
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data">
เลือกรูปภาพ <input type="file" name="image[]" accept="image/*" multiple><br/>
<input type="submit" value="อัปโหลด">
</form>
<?php
isset( $_FILES['image']['tmp_name'] ) ? $image_tmp_name = $_FILES['image']['tmp_name'] : $image_tmp_name = "";
isset( $_FILES['image']['name'] ) ? $image_name = $_FILES['image']['name'] : $image_name = "";
if( !empty( $image_tmp_name ) && !empty( $image_name ) ) {
for( $i=0; $i<count( $image_tmp_name ); $i++ ) {
if( !empty($image_tmp_name[$i])) {
if( move_uploaded_file($image_tmp_name[$i], "images/".$image_name[$i]) ) {
echo "รูปภาพ {$image_name[$i]} อัปโหลดรูปภาพสำเร็จ<br/>";
}
}
}
}
?>
ผลลัพธ์
รูปภาพ 1.jpg อัปโหลดรูปภาพสำเร็จ
รูปภาพ 2.jpg อัปโหลดรูปภาพสำเร็จ
รูปภาพ 3.jpg อัปโหลดรูปภาพสำเร็จ
1. ใส่คำสั่ง multiple ที่ input type file เพื่อให้รองรับการเลือกไฟล์รูปภาพได้มากกว่า 1 รูปภาพ และกำหนดให้ตัวแปรเป็นชนิด array ตัวอย่างคือ name="image[]"
2. เมื่อผู้ใช้งานเลือกรูปภาพ และกดปุ่มข้อมูลรูปภาพที่จะอัปโหลดจะถูกส่งไปที่ PHP
3. ฝั่ง PHP ใช้คำสั่ง for วนลูปเท่ากับจำนวนข้อมูลของรูปภาพที่อัปโหลด โดยใช้คำสั่ง count นับ โดยภายใน for ใช้คำสั่ง move_uploaded_file เพื่ออัปโหลดรูปภาพทีละไฟล์ลงใน folder images