Funktionen is_uploaded_file

Funktionen is_uploaded_file kontrollerar om den angivna filen laddades upp via en POST-förfrågan. Detta är en viktig säkerhetskontroll när man arbetar med uppladdade filer. Funktionen tar en parameter - sökvägen till filen som ska kontrolleras, och returnerar true om filen laddades upp via POST, och false om den inte gjorde det.

Syntax

phpis_uploaded_file(string $filename): bool

Exempel

Låt oss kontrollera om en fil laddades upp via ett formulär:

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

Exempel

Användning av 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 även

  • funktionen move_uploaded_file,
    som säkert flyttar en uppladdad fil
  • funktionen file_exists,
    som kontrollerar om en fil existerar (men inte enbart uppladdade)
  • funktionen tmpfile,
    som skapar en temporär fil
  • funktionen is_file,
    som kontrollerar en fil