ฟังก์ชัน is_uploaded_file() ใช้ ตรวจสอบว่าไฟล์ถูกอัปโหลดผ่าน HTTP POST จริงๆ หรือไม่ (ป้องกันโจมตีการอัปโหลดไฟล์) ส่งคืน TRUE หากอัปโหลดผ่าน POST, FALSE หากไม่ใช่หรือล้มเหลว
ไวยากรณ์ (Syntax)
is_uploaded_file(file_path)
พารามิเตอร์ (Parameters)
file_path − พาธไฟล์ที่ต้องการตรวจสอบ (มักจาก $_FILES['userfile']['tmp_name'])
ค่าที่ส่งคืน (Return Value)
ส่งคืน TRUE หากไฟล์อัปโหลดผ่าน HTTP POST, FALSE หากไม่ใช่หรือล้มเหลว
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1: ตรวจสอบและอ่านเนื้อหาไฟล์ที่อัปโหลด
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "File " . $_FILES['userfile']['name'] . " uploaded successfully!\n";
echo "Reading Contents of the file:\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "File upload failed! Possible file upload attack!\n";
}
?>
ผลลัพธ์
File new.txt uploaded successfully! Reading Contents of the file: This is demo text!
ตัวอย่างที่ 2: ตรวจสอบไฟล์ทั่วไป (ไม่ใช่จากอัปโหลด)
<?php
$file = "newdetailstxt";
if (is_uploaded_file($file)) {
echo "Uploaded via HTTP POST";
} else {
echo "Not uploaded via HTTP POST";
}
?>
ผลลัพธ์
Not uploaded via HTTP POST!