Из соображений безопасности
Posted in: Управление загрузкой файлов, By: admin, At: Июнь 25th, 2008
Если файл загружен успешно, он должен быть перемешен из его текущего расположения (временного каталога) в место постоянного размещения. Если файл не был перемещен, он будет удален по окончании выполнения РНР-сценария.
Из соображений безопасности, прежде чем перемещать файл из временного каталога в новый, должна быть вызвана функция is_uploaded_f ile О для подтверждения того, что файл действительно был загружен с помощью РНР. После того, как загрузка подтверждена, с помощью функции move_uploaded_Iile() можно переместить загруженный файл из его текущего расположения в новое. Чтобы переместить файл в каталог назначения, РНР должен иметь права записи в этот каталог. В главе 21 можно найти подробную информацию о применении функций, имеющих отношение к загрузке файлов и работе с правами доступа.
НА ЗАМЕТКУ -
Функция move_uploaded_file() предполагает, что файл находится в каталоге, указанном s конфигурационной директиве upload_tmp_dir.
Код в листинге 4.15 обрабатывает файл, загруженный кодом из листинга 4.14.
Листинг 4.15. Выполнение загрузки файла в РНР
if(isjaploadedfile($_FILES['myfile']['tmp__name'])) { move_uploaded_file (S_FILES [ 'myf ile') [' tmp~_name' ], “/path/to/dir/newname”);
I
?>
Резюме
К настоящему моменту вам представлены все аспекты работы с формами из РНР-сценариев, Для большинства приложений описанные технологии — это все, что вам может понадобиться в РНР для обработки данных из отправленных форм. Более подробное обсуждение темы работы с формами, включая проверку допустимости данных, имитацию отправки данных из РНР и так далее, можно найти в главе 5.
Leave a Reply