Funksjonen is_uploaded_file

Funksjonen is_uploaded_file sjekker om den angitte filen ble lastet opp via POST-forespørsel. Dette er en viktig sikkerhetssjekk ved arbeid med opplastede filer. Funksjonen tar en parameter - banen til filen som skal sjekkes, og returnerer true hvis filen ble lastet opp via POST, og false i motsatt tilfelle.

Syntaks

phpis_uploaded_file(string $filename): bool

Eksempel

La oss sjekke om en fil ble lastet opp via et skjema:

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

Bruk av funksjonen i kombinasjon 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å

  • funksjonen move_uploaded_file,
    som flytter en opplastet fil på en sikker måte
  • funksjonen file_exists,
    som sjekker om en fil eksisterer (men ikke bare opplastede)
  • funksjonen tmpfile,
    som oppretter en midlertidig fil
  • funksjonen is_file,
    som sjekker en fil