Funkcja is_uploaded_file

Funkcja is_uploaded_file sprawdza, czy określony plik został przesłany za pomocą żądania POST. Jest to ważne sprawdzenie bezpieczeństwa podczas pracy z przesyłanymi plikami. Funkcja przyjmuje jeden parametr - ścieżkę do sprawdzanego pliku i zwraca true, jeśli plik został przesłany przez POST, i false w przeciwnym razie.

Składnia

phpis_uploaded_file(string $filename): bool

Przykład

Sprawdźmy, czy plik został przesłany za pomocą formularza:

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

Przykład

Użycie funkcji w połączeniu 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';
  }
?>

Zobacz też

  • funkcję move_uploaded_file,
    która bezpiecznie przenosi przesłany plik
  • funkcję file_exists,
    która sprawdza istnienie pliku (ale nie tylko przesłanych)
  • funkcję tmpfile,
    która tworzy plik tymczasowy
  • funkcję is_file,
    która sprawdza plik