is_uploaded_file
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST
Описание
$filename
) : bool
Возвращает 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'] . "'.";
}
?>
Смотрите также
- move_uploaded_file() - Перемещает загруженный файл в новое место
- $_FILES
- Простой пример использования можно найти в разделе "Загрузка файлов на сервер".