Funkce is_uploaded_file

Funkce is_uploaded_file kontroluje, zda byl zadaný soubor nahrán prostřednictvím POST požadavku. Toto je důležitá kontrola bezpečnosti při práci s nahranými soubory. Funkce přijímá jeden parametr - cestu ke kontrolovanému souboru, a vrací true, pokud byl soubor nahrán prostřednictvím POST, a false v opačném případě.

Syntaxe

phpis_uploaded_file(string $filename): bool

Příklad

Zkontrolujeme, zda byl soubor nahrán prostřednictvím formuláře:

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

Příklad

Použití funkce v kombinaci 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';
  }
?>

Viz také

  • funkci move_uploaded_file,
    která bezpečně přesune nahraný soubor
  • funkci file_exists,
    která kontroluje existenci souboru (ale ne pouze nahraných)
  • funkci tmpfile,
    která vytváří dočasný soubor
  • funkci is_file,
    která kontroluje soubor