Funkcia is_uploaded_file

Funkcia is_uploaded_file kontroluje, či bol uvedený súbor nahraný prostredníctvom POST požiadavky. Toto je dôležitá kontrola bezpečnosti pri práci s nahrávanými súbormi. Funkcia prijíma jeden parameter - cestu k kontrolovanému súboru, a vráti true, ak bol súbor nahraný prostredníctvom POST, a false v opačnom prípade.

Syntax

phpis_uploaded_file(string $filename): bool

Príklad

Skontrolujeme, či bol súbor nahraný prostredníctvom formulára:

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

Príklad

Použitie funkcie v kombinácii s 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';
  }
?>

Pozrite tiež

  • funkciu move_uploaded_file,
    ktorá bezpečne presunie nahraný súbor
  • funkciu file_exists,
    ktorá kontroluje existenciu súboru (ale nielen nahraných)
  • funkciu tmpfile,
    ktorá vytvára dočasný súbor
  • funkciu is_file,
    ktorá kontroluje súbor