Funktio is_uploaded_file

Funktio is_uploaded_file tarkistaa, onko määritetty tiedosto ladattu POST -pyynnön kautta. Tämä on tärkeä tietoturvatarkistus ladattujen tiedostojen käsittelyssä. Funktio ottaa vastaan yhden parametrin - polun tarkistettavaan tiedostoon, ja palauttaa true, jos tiedosto on ladattu POST -kautta, ja false muussa tapauksessa.

Syntaksi

phpis_uploaded_file(string $filename): bool

Esimerkki

Tarkistetaan, onko tiedosto ladattu lomakkeen kautta:

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

Esimerkki

Funktion käyttö yhdessä move_uploaded_file -funktion kanssa:

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

Katso myös

  • funktion move_uploaded_file,
    joka siirtää ladatun tiedoston turvallisesti
  • funktion file_exists,
    joka tarkistaa tiedoston olemassaolon (mutta ei vain ladattuja)
  • funktion tmpfile,
    joka luo väliaikaistiedoston
  • funktion is_file,
    joka tarkistaa tiedoston