Прежде всего необходимо создать форму для выбора файла. Выглядит она обычно таким образом:
<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’];
имя временного файла на сервере. Но переносить следует именно временный файл! После загрузки можно вывести необходимые параметры файла на страницу — размер, тип и т.п. благодаря заранее полученным переменным…