Главная » Полезные статьи » Язык PHP » Закачка файла на сервер с PHP
Распечатать статью

Закачка файла на сервер с PHP

В более поздних версиях есть возможность использовать специальный массив ($http_post_files),
но в данном уроке описывается более ранний метод.

В нашем примере мы будем использовать следующий код html формы для закачки файла:

< form method=»post» enctype=»multipart/ form-data» action=» script.php»>
< input type=»hidden» name=»max_file_size» value=»1000″>
< input type=»file» name=»userfile»>
< input type=»submit»>
form

Скрытое поле max_file_size (должно стоять перед тэгом < input type=file>) указывает
на максимально допустимую длину файла в байтах. То есть все файлы, длина которых
будет превышать указанное значение, не будут посылаться броузером на сервер.
При срабатывании события submit, данные становятся доступны в php скрипте автоматически,
то есть Вам не надо проводить разбор http запроса или пользоваться дополнительными модулями.
php сам заботится о том, чтобы Вы могли считывать значения соответствующих переменных.
Эти переменные наследуют левую часть названия(до символа ‘_’) от имени поля, которое было указано в html коде.

Если html код такой:

< input type=»file» name=»userfile»>

то php переменные буду такими:

$userfile: Имя временного файла на сервере, который был создан для закачки.
Вы можете использовать эту перменную чтобы считать содержимое закаченного файла
или скопировать этот временной файл в нужную директорию на сервере.

$userfile_name: Имя файла на пользовательской машине.
Этот как раз имя того файла, который был выбран для закачки на броузере.

$userfile_size: Длина закаченного файла в байтах.

$userfile_type: mime-тип закаченного файла, если броузер указал это значение при посылке.
Например: «image/gif».

Для проверки удачной закачки файла, используется функция is_uploaded_file($userfile),
которая возвращает true если переменная $userfile содержит имя закаченного файла,
и false в обратном случае.

move_uploaded_file($userfile, «/place/to/put/uploaded/file/name.it»): функция, которая
переносит временный файл туда, куда Вы укажите.

Ниже приведен php текст, который закачивает на сервер и сохраняет закаченные файлы.

<?
if (is_uploaded_file($userfile)) {
move_uploaded_file($userfile, «/place/file.new»);
}
?>

А можно сделать тоже самое, используя функцию copy:
<?
if (is_uploaded_file($userfile)) {
copy($userfile, «/place/file.new»);
}
?>

 

Источник:  i-faq.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи