Site icon PlusMagi's Blog By Pitt Phunsanit

PHP: การอัพโหลดไฟล์

ก่อนอื่นเราจะส่งไฟล์เข้าเครื่องเซิร์ฟเวอร์ต้องแก้ฟอร์มโดยเพิ่ม 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[‘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']);
}

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

Exit mobile version