Devdit
 

PHP upload image หลายรูปภาพพร้อมกัน

1.8K

สอนเขียนภาษา 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

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ