Funktionen is_uploaded_file

Funktionen is_uploaded_file kontrollerer, om den angivne fil blev uploadet via en POST-forespørgsel. Dette er en vigtig sikkerhedskontrol når man arbejder med uploadede filer. Funktionen tager en parameter - stien til den fil, der skal kontrolleres, og returnerer true, hvis filen blev uploadet via POST, og false i modsat fald.

Syntaks

phpis_uploaded_file(string $filename): bool

Eksempel

Lad os kontrollere, om en fil blev uploadet via en formular:

php<?php
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    echo 'File was uploaded via HTTP POST';
  } else {
    echo 'File was NOT uploaded via HTTP POST';
  }
?>

Eksempel

Brug af funktionen i kombination med 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 'file uploaded successfully';
  } else {
    echo 'possible file upload attack';
  }
?>

Se også

  • funktionen move_uploaded_file,
    som sikkert flytter en uploadet fil
  • funktionen file_exists,
    som kontrollerer eksistensen af en fil (men ikke kun uploadede)
  • funktionen tmpfile,
    som opretter en midlertidig fil
  • funktionen is_file,
    som kontrollerer en fil