(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST
Возвращает 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'] . "'.";
}
?>