Грузим файлы на сервер

Прежде всего необходимо создать форму для выбора файла. Выглядит она обычно таким образом:

<form action=»upload.php» method=»post» enctype=»multipart/form-data»>
<input type=»file» name=»upload»>
<input type=»submit» value=»Загрузить»>
</form>

При таком раскладе вы увидите строку для выбора файла и кнопку «Загрузить». После нажатия которых файлы полетят на сервер. Обязательным атрибутом этого процесса является конструкция:

enctype=»multipart/form-data»
Это необходимо, чтобы дать понять браузеру, что мы собираемся грузить файлы.

После нажатия клавиши запрос отправляется на скрипт upload.php. В нём можно вывести на экран необходимые сведения, настроить процесс — ограничить типы и размеры.

Обычно он выглядит примерно вот так:

$file = $_FILES[‘upload’][‘tmp_name’];
$type = $_FILES[‘upload’][‘type’];

$path = «img/users/».$_FILES[‘upload’][‘name’];

$size = $_FILES[‘upload’][‘size’];

if (@eregi («image», $type)) {

if (is_uploaded_file($file)) {
move_uploaded_file($file, $path);

/* тут вывести необходимые параметры */

     }
}

Этот скрипт разрешает загрузить только файлы изображений. Оприделить тип можно при помощи конструкции:

$type = $_FILES[‘upload’][‘type’];

Будет вовращён тип файла. Например для gif — image/gif. Для файла html — text/html. Поэтому удобно делать проверку при помощи регулярных выражений:

if (@eregi («image», $type))
Данной строкой будут допущены к загрузке все изображения.

Эта строка проверит успешность загрузки файла на сервер и если всё хорошо перенесёт его из временной папки сервера в каталог $path:

if (is_uploaded_file($file))
move_uploaded_file($file, $path);

Обратите внимание, что конструкция

$_FILES[‘upload’][‘name’]
возвратит первоначальное имя файла, а

$_FILES[‘upload’][‘tmp_name’];
имя временного файла на сервере. Но переносить следует именно временный файл! После загрузки можно вывести необходимые параметры файла на страницу — размер, тип и т.п. благодаря заранее полученным переменным…

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий