ตัวอย่างการอัพโหลดไฟล์โดยใช้พีเอชพี

ตัวอย่างการอัพโหลดไฟล์โดยใช้พีเอชพี

ก่อนอื่นเราจะส่งไฟล์เข้าเครื่องเซิร์ฟเวอร์ต้องแก้ฟอร์มโดยเพิ่ม enctype=”multipart/form-data” และส่งไฟล์โดยใช้อินพุทชนิดไฟล์

<form action="uploading.php" method="post" enctype="multipart/form-data">
<br /><input type="file" name="picture" />
</form>

ในการรับค่าพีเอชพีจะใช้ตัวแปร $_FILES ถ้าอินพุทชื่อ picture ก็จะใช้ $_FILES[‘picture’] โดยจะมีสมาชิกหลายตัว

สมชิกตัวแปร $_FILES
$_FILES[‘pictures’][‘tmp_name’] จะบอกว่าไฟล์ของเราตอนนี้เก็บในชื่ออะไร (เพื่อความปลอดภัยพีเอชพี จะเก็บเป็นไฟล์ชั่วคราวไว้ก่อน ป้องกันการอัพโหลดไฟล์ไวรัสเข้าเซิร์ฟเวอร์ ถ้าไม่ทำอะไรกับไฟล์นี่ตามเวลาที่กำหนดจะโดนลบออกไปเอง)

$_FILES[‘picture’][‘name’] จะบอกว่าต้นฉบับชื่ออะไรนามสกุล
$_FILES[‘picture’][‘type’] ประเภทของไฟล์ตามมาตรฐาน MIME ไว้ดูว่าจริงๆ ไฟล์นี้เป็นไฟล์อะไร (ปลอกภัยกว่าตรวจชนิดจากนามสกุล)
$_FILES[‘picture’][‘size’] ขนาดไฟล์
$_FILES[‘picture’][‘error’] error ดูว่าอัพโหลดผิดพลาดรึเปล่า

จากนั้นก็เขียนไฟล์ที่ได้มาโดยใช้ฟังก์ชัน move_uploaded_file(ไฟล์ชั่วคราว ,พาร์ท/ชื่อไฟล์/นามสกุลที่ต้องการ);ไฟล์ uploading.php

if (isset($_FILES['picture']))
{ // ตรวจดูก่อนว่าอัพโหลดไฟล์เข้ามาจริงๆ
	move_uploaded_file($_FILES['picture']['name'] ,'uploads/'.$_FILES['picture']['tmp_name']);
}

ลองเขียนตรวจชนิดไฟล์ / จำกัดขนาดดูนะครับ
ดูเพิ่มเติม

About the author

พิชญ์ พันธุ์สนิท administrator

Leave a Reply