Управление загрузкой файлов

НА ЗАМЕТКУ -
Чтобы загрузка файпов работала правильно в РНР, должны быть корректно установлены множество конфигурационных директив в файле php.ini. Особенно это касается директив file_uploads, uploads_max_filesize, upload_tmp_dir и post_max_size, которые влияют на возможности РНР, связанные с загрузкой файпов. Более подробное описание этих директив содержится в руководстве по РНР.Как упоминалось ранее в первом разделе настоящей главы, РНР позволяет загружать файлы из HTML-форм посредством элементов загрузки файлов. При организации загрузки файлов из HTML-формы следует помнить о некоторых соглашениях, относящихся к самому дескриптору .
Чтобы загрузка произошла успешно, атрибут ENCTYPE дескриптора

должен быть установлен в MIME-значение multipart/form-data, а атрибут METHOD — в значение POST. Пример HTML-формы, которая загружает файл в сценарий upload.php, показан в листинге 4.14.
Листинг 4.14, HTML-код для загрузки файлов по протоколу HTTP_________

НА ЗАМЕТКУ -
Для указания максимального размера загружаемого файла может использоваться специальный скрытый элемент с именем MAX_FILE_SIZE. Это ограничение размера файла устанавливается на клиентской стороне и может не работать на некоторых клиентах. В таких случаях потребуется реализовать проверку размера за счет установки значения директивы
upload_max_filesize.
При отправке формы из листинга 4.14 файл будет загружен на Web-сервер и сохранен во временном каталоге, указанном директивой upload_tmp_rHr в файле php. ini. Затем РНР создает суперглобальную переменную $__FILES и, в данном случае, заносит в массив SFILES ключ myf ile. Значением этого ключа будет другой массив, заполненный информацией о загруженном файле. В частности, массив, помещенный в 5_FILES[ 'myfile' ], имеет значения ключей, приведенные в табл. 4,7.
НА ЗАМЕТКУ -
Следующий массив ключей может содержать или не содержать значения, в зависимости от конкретных обстоятельств загрузки файла. Например, ключ type может быть пустым, если браузер не предоставляет М)МЕ-информации.
таблица 4.7. Ключи, создаваемые для файла при загрузке
Ключ Описание
name Имя файла на клиентской машине,
type МШЕ^гип файла, если он известен,
size Размер загружаемого файла в байтах.
tmpname Временное имя, присвоенное файлу самим РНР при загрузке на сервер,
error Целоезначеиие, пре дставля ющееошибку, слу ч ившуюсяпризагрузкефайла.
Если в процессе загрузи! файла возникла ошибка, элементу S_FILES {1 myf ile’ ] [' error' ] будет присвоено целочисленное значение, представляющее тип ошибки и равное одной из констант, перечисленных в табл. 4.8.

Tags: , ,

Related posts


Leave a Reply


Очень рекомендуем - установка кондиционеров на сайте.