Funkcija is_uploaded_file

Funkcija is_uploaded_file preveri, ali je bila navedena datoteka naložena prek POST zahteve. To je pomembno varnostno preverjanje pri delu z nalaganjem datotek. Funkcija sprejme en parameter - pot do preverjene datoteke, in vrne true, če je bila datoteka naložena prek POST, in false v nasprotnem primeru.

Sintaksa

phpis_uploaded_file(string $filename): bool

Primer

Preverimo, ali je bila datoteka naložena prek obrazca:

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

Primer

Uporaba funkcije v kombinaciji z 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';
  }
?>

Glejte tudi

  • funkcijo move_uploaded_file,
    ki varno premakne naloženo datoteko
  • funkcijo file_exists,
    ki preveri obstoj datoteke (vendar ne le naloženih)
  • funkcijo tmpfile,
    ki ustvari začasno datoteko
  • funkcijo is_file,
    ki preveri datoteko