ProfiPHPProfiPHP
Категория: Функции для работы с файловой системой

Функция Move_uploaded_file

Функция Move_uploaded_file перемещает загруженный файл в новое место.
bool move_uploaded_file( string $filename, string $destination )
Функция Move_uploaded_file проверяет, является ли файл Filename загруженным на сервер (переданным по протоколу HTTP POST). Если файл действительно загружен на сервер, он будет перемещен в место, указанное в аргументе Destination.

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

Параметр Filename содержит путь к загруженному файлу.

Параметр Destination содержит путь, по которому необходимо переместить файл.

Функция Move_uploaded_file возвращает TRUE в случае успеха. Если Filename не является загруженным файлом, никаких действий не предпринимается и функция Move_uploaded_file возвращает FALSE.

Если Filename является загруженным файлом, но не может быть перемещен по каким-либо причинам, никаких действий не предпринимается и возвращается FALSE с отображением предупреждения.

Если результирующий файл уже существует, он будет перезаписан.

Функция Move_uploaded_file принимает во внимание директиву Open_basedir. Тем не менее, ограничения накладываются лишь на параметр Destination, чтобы разрешить перемещение загруженных файлов, так как параметр Filename может конфликтовать с этими ограничениями. Функция Move_uploaded_file гарантирует безопасность этой операции, работая лишь с теми файлами, которые были загружены через PHP.

Пример загрузки файла:
<form  enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file" name="user_file" />
<input type="submit" value="Загрузить" />
</form>
<?php
if ( $_FILES['user_file']['error'] == UPLOAD_ERR_OK ) {
$name = basename( $_FILES['user_file']['name'] );
move_uploaded_file( $_FILES['user_file']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/uploads/'.$name );
}
?>

Добавить комментарий

Имя:
Текст комментария: