Functie is_uploaded_file

De functie is_uploaded_file controleert of het opgegeven bestand is geüpload via een POST-verzoek. Dit is een belangrijke veiligheidscontrole bij het werken met geüploade bestanden. De functie accepteert één parameter - het pad naar het te controleren bestand, en retourneert true als het bestand via POST is geüpload, en false in het tegenovergestelde geval.

Syntaxis

phpis_uploaded_file(string $filename): bool

Voorbeeld

Laten we controleren of een bestand via het formulier is geüpload:

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';
  }
?>

Voorbeeld

Gebruik van de functie in combinatie met 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';
  }
?>

Zie ook

  • de functie move_uploaded_file,
    die een geüpload bestand veilig verplaatst
  • de functie file_exists,
    die het bestaan van een bestand controleert (maar niet alleen van geüploade)
  • de functie tmpfile,
    die een tijdelijk bestand aanmaakt
  • de functie is_file,
    die een bestand controleert