Управление загрузкой файлов
Posted in: Управление загрузкой файлов, By: admin, At: Июнь 30th, 2008
НА ЗАМЕТКУ -
Чтобы загрузка файпов работала правильно в РНР, должны быть корректно установлены множество конфигурационных директив в файле php.ini. Особенно это касается директив file_uploads, uploads_max_filesize, upload_tmp_dir и post_max_size, которые влияют на возможности РНР, связанные с загрузкой файпов. Более подробное описание этих директив содержится в руководстве по РНР.Как упоминалось ранее в первом разделе настоящей главы, РНР позволяет загружать файлы из HTML-форм посредством элементов загрузки файлов. При организации загрузки файлов из HTML-формы следует помнить о некоторых соглашениях, относящихся к самому дескриптору .
Чтобы загрузка произошла успешно, атрибут ENCTYPE дескриптора
НА ЗАМЕТКУ -
Для указания максимального размера загружаемого файла может использоваться специальный скрытый элемент с именем 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.
Leave a Reply