การ upload ไฟล์ที่ถูกต้อง เขียนเมื่อ 2009.07.12 โดย

ยังคงมีคำถามเข้ามาเรื่อยๆ เกี่ยวกับการ upload ไฟล์เข้าไปยัง server เข้าใจว่าอ่านจากหนังสือภาษาไทยที่มีการเขียนแบบผิดๆ มาตลอด (จะมีก็บางเล่มที่เขียนอย่างถูกต้องแต่น้อยมาก)

ในการ upload ไฟล์ที่ถูกต้องนั้นใน php ได้ระบุไว้ว่าให้ใช้งาน move_uploaded_file ซึ่งถูกเพิ่มเข้ามาตั้งแต่ PHP 4.0.3 ซึ่งเป็นวิธีที่ถูกต้องกว่า เนื่องจาก copy นั้นจะมีปัญหาในเรื่องสิทธิ์เข้าถึงไฟล์ใน temp directory ของเครื่อง server ทำให้ไม่สามารถใช้งานได้ การอ้างถึงไฟล์ที่ถูก upload มานั้นอ่านได้ที่

เรามาดูกันว่าการ upload ไฟล์ด้วย move_uploaded_file นั้นสามารถใช้งานได้อย่างไร
PHP
  1. if(is_uploaded_file($_FILES["file1"]["tmp_name"])){
  2.     if(move_uploaded_file($_FILES["file1"]["tmp_name"], "uploads/".$_FILES["file1"]["name"])){
  3.         echo "File uploaded successful";
  4.     }else{
  5.         echo "File upload failed";
  6.     }
  7. }


จากตัวอย่างเป็นการ upload ไฟล์จาก field ชื่อ file1 เข้าไปไว้ยัง directory ชื่อ uploads ในเครื่อง server โดยในความเป็นจริงแล้ว move_uploaded_file คืนค่ามาเป็น true เมื่อทำงานสำเร็จ เราจึงสามารถใช้ในการตรวจสอบผลการ upload ได้อีกด้วย



คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย