ฟังก์ชัน is_uploaded_file
ฟังก์ชัน is_uploaded_file ตรวจสอบว่าไฟล์ที่ระบุถูกอัปโหลดผ่านคำขอ POST หรือไม่ นี่คือการตรวจสอบความปลอดภัยที่สำคัญเมื่อทำงานกับไฟล์ที่อัปโหลด ฟังก์ชันรับพารามิเตอร์หนึ่งตัว - เส้นทางไปยังไฟล์ที่ต้องการตรวจสอบ และส่งคืน true หากไฟล์ถูกอัปโหลดผ่าน POST และ false ในกรณีอื่น
ไวยากรณ์
is_uploaded_file(string $filename): bool
ตัวอย่าง
ตรวจสอบว่าไฟล์ถูกอัปโหลดผ่านฟอร์มหรือไม่:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'ไฟล์ถูกอัปโหลดผ่าน HTTP POST';
} else {
echo 'ไฟล์ไม่ถูกอัปโหลดผ่าน HTTP POST';
}
?>
ตัวอย่าง
การใช้ฟังก์ชันร่วมกับ move_uploaded_file:
<?php
$temp_file = $_FILES['userfile']['tmp_name'];
$target_file = 'uploads/' . $_FILES['userfile']['name'];
if (is_uploaded_file($temp_file)) {
move_uploaded_file($temp_file, $target_file);
echo 'อัปโหลดไฟล์สำเร็จ';
} else {
echo 'อาจมีการโจมตีผ่านการอัปโหลดไฟล์';
}
?>
ดูเพิ่มเติม
-
ฟังก์ชัน
move_uploaded_file,
ซึ่งย้ายไฟล์ที่อัปโหลดได้อย่างปลอดภัย -
ฟังก์ชัน
file_exists,
ซึ่งตรวจสอบการมีอยู่ของไฟล์ (แต่ไม่เฉพาะไฟล์ที่อัปโหลด) -
ฟังก์ชัน
tmpfile,
ซึ่งสร้างไฟล์ชั่วคราว -
ฟังก์ชัน
is_file,
ซึ่งตรวจสอบไฟล์