ฟังก์ชัน is_uploaded_file

ฟังก์ชัน is_uploaded_file ตรวจสอบว่าไฟล์ที่ระบุถูกอัปโหลดผ่านคำขอ POST หรือไม่ นี่คือการตรวจสอบความปลอดภัยที่สำคัญเมื่อทำงานกับไฟล์ที่อัปโหลด ฟังก์ชันรับพารามิเตอร์หนึ่งตัว - เส้นทางไปยังไฟล์ที่ต้องการตรวจสอบ และส่งคืน true หากไฟล์ถูกอัปโหลดผ่าน POST และ false ในกรณีอื่น

ไวยากรณ์

phpis_uploaded_file(string $filename): bool

ตัวอย่าง

ตรวจสอบว่าไฟล์ถูกอัปโหลดผ่านฟอร์มหรือไม่:

php<?php
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    echo 'ไฟล์ถูกอัปโหลดผ่าน HTTP POST';
  } else {
    echo 'ไฟล์ไม่ถูกอัปโหลดผ่าน HTTP POST';
  }
?>

ตัวอย่าง

การใช้ฟังก์ชันร่วมกับ move_uploaded_file:

php<?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,
    ซึ่งตรวจสอบไฟล์