Функция is_uploaded_file

Функция is_uploaded_file проверяет, был ли указанный файл загружен через POST запрос. Это важная проверка безопасности при работе с загружаемыми файлами. Функция принимает один параметр - путь к проверяемому файлу, и возвращает true, если файл был загружен через POST, и false в противном случае.

Синтаксис

phpis_uploaded_file(string $filename): bool

Пример

Проверим, был ли файл загружен через форму:

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

Пример

Использование функции в сочетании с 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';
  }
?>

Смотрите также

  • функцию move_uploaded_file,
    которая безопасно перемещает загруженный файл
  • функцию file_exists,
    которая проверяет существование файла (но не только загруженных)
  • функцию tmpfile,
    которая создает временный файл
  • функцию is_file,
    которая проверяет файл