Определяет, был ли файл загружен при помощи HTTP POST


(PHP 4 >= 4.0.3, PHP 5)

is_uploaded_fileОпределяет, был ли файл загружен при помощи HTTP POST

Описание

bool is_uploaded_file ( string $filename )

Возвращает TRUE, если файл filename был загружен при помощи HTTP POST. Это полезно для удостоверения того, что злонамеренный пользователь не пытается обмануть скрипт так, чтобы он работал с файлами, с которыми работать не должен - к примеру, /etc/passwd.

Такие проверки особенно полезны, если существует вероятность того, что операции над файлом могут показать его содержимое пользователю или даже другим пользователям той же системы.

Для правильной работы, функции is_uploaded_file() нужен аргумент вида $_FILES['userfile']['tmp_name'], - имя закачиваемого файла на клиентской машине $_FILES['userfile']['name'] не подходит.

Список параметров

filename

Имя проверяемого файла.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo 
"Файл "$_FILES['userfile']['name'] ." успешно загружен.\n";
   echo 
"Отображаем содержимое\n";
   
readfile($_FILES['userfile']['tmp_name']);
} else {
   echo 
"Возможная атака с участием загрузки файла: ";
   echo 
"файл '"$_FILES['userfile']['tmp_name'] . "'.";
}

?>

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