แนะนำตัว
ตัวแปรที่กำหนดไว้ล่วงหน้าส่วนกลาง $_FILES เป็นอาเรย์ที่เชื่อมโยงซึ่งมีรายการที่อัปโหลดผ่านเมธอด HTTP POST การอัปโหลดไฟล์ต้องใช้แบบฟอร์มวิธี HTTP POST โดยตั้งค่าแอตทริบิวต์ enctype เป็นหลายส่วน/แบบฟอร์ม-ข้อมูล .
$HTTP_POST_FILES มีข้อมูลเหมือนกันแต่ไม่ใช่ superglobal และตอนนี้เลิกใช้แล้ว
อาร์เรย์ _FILES มีคุณสมบัติดังต่อไปนี้ -
$_FILES['file']['name'] - ชื่อเดิมของไฟล์ที่จะอัพโหลด
$_FILES['file']['type'] - ประเภท mime ของไฟล์
$_FILES['file']['size'] - ขนาดเป็นไบต์ของไฟล์ที่อัปโหลด
$_FILES['file']['tmp_name'] - ชื่อไฟล์ชั่วคราวของไฟล์ที่เก็บไฟล์ที่อัพโหลดไว้บนเซิร์ฟเวอร์
$_FILES['file']['error'] - รหัสข้อผิดพลาดที่เกี่ยวข้องกับการอัปโหลดไฟล์นี้
ต่อไปนี้ test.html มีแบบฟอร์ม HTML ที่มีการตั้งค่า enctype เป็น multiform/form-data นอกจากนี้ยังมีองค์ประกอบไฟล์อินพุตที่แสดงปุ่มบนแบบฟอร์มเพื่อให้ผู้ใช้เลือกไฟล์ที่จะอัปโหลด
<form action="testscript.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type ="submit" value="submit"> </form>
สคริปต์ PHP มีดังต่อไปนี้:
ตัวอย่าง
<?php echo "Filename: " . $_FILES['file']['name']."<br>"; echo "Type : " . $_FILES['file']['type'] ."<br>"; echo "Size : " . $_FILES['file']['size'] ."<br>"; echo "Temp name: " . $_FILES['file']['tmp_name'] ."<br>"; echo "Error : " . $_FILES['file']['error'] . "<br>"; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Filename: hello.html Type : text/html Size : 56 Temp name: C:\xampp\tmp\php32CE.tmp Error : 0