Devdit
 

move_uploaded_file Failed to open stream: No such file or directory คือ วิธีแก้ไข

1.2K

ต้องการใช้คำสั่ง move_uploaded_file เพื่ออัปโหลดไฟล์ลง folder ที่ต้องการทดสอบแล้วข้อมูลไฟล์มา ทั้ง tmp_name และ name แต่รันแล้วไม่สำเร็จขึ้นข้อความว่า Warning: move_uploaded_file(dir/test.pdf): Failed to open stream: No such file or directory แบบนี้ต้องแก้ไขอย่างไร

<form action="upload.php" method="POST" enctype="multipart/form-data">
    กรุณาเลือกไฟล์ <input type="file" name="file"><br/>
    <input type="submit" value="อัปโหลด">
</form>
<?php
    isset( $_FILES['file']['tmp_name'] ) ? $file_tmp_name = $_FILES['file']['tmp_name'] : $file_tmp_name = "";
    isset( $_FILES['file']['name'] ) ? $file_name = $_FILES['file']['name'] : $file_name = "";

    if( !empty( $file_tmp_name ) && !empty( $file_name ) ) {
        move_uploaded_file($file_tmp_name, "dir/".$file_name);
    }
?>

 

วิธีแก้ไข

แนะนำให้ตรวจสอบว่ามี folder ชื่อ dir อยู่ในตำแหน่งเดียวกับ script php ด้านบนหรือไม่ ปัญหาดังกล่าวหลักๆ เกิดจาก 2 กรณีคือ 1.ไม่มีไฟล์ที่อัปโหลดเข้ามา หรือ 2.ไม่มี folder ปลายทางที่กำหนด เมื่อข้อมูลไฟล์ตรวจสอบแล้วพบว่ามี แนะนำให้ตรวจสอบ folder dir หากไม่มี folder dir ให้สร้าง folder ดังกล่าวก่อนแล้วจึงรันโปรแกรมใหม่อีกครั้ง

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