Поддержка file upload
Поддержка file upload
PHP может принимать файлы, загруженные из любого браузера, отвечающего стандартам RFC-1867 (которыми являются, например, Netscape Navigator 3 или cтарше, Microsoft Internet Explorer 3 с исправлениями от Microsoft, или cтарше). Эта возможность позволяет людям загружать файлы. С PHP-аутификацией и функциями манипулирования файлами, вы имеете полный контроль над тем, кому позволять загружать файлы и что должно быть выполнено с файлом, если он был загружен.
Экран загрузки файла может быть организован созданием специальной формы, которая выглядит примерно так:
Пример 2-3. Форма загрузки файла
Send this file:
_URL_ должен указать на php html файл. Cкрытое поле MAX_FILE_SIZE должно предшествовать полю ввода файла и означает максимально допустимый размер файла. Значение определяется в байтах. Для этого файла при успешной загрузке будут определены следующие переменные :
$userfile — Временное имя файла под которым загруженный файл загружается в машину сервера.
$userfile_name — Исходное имя файла в системе отправителя.
$userfile_size — Размер загруженного файла в байтах.
$userfile_type — Тип MIME файла, если броузер предоставил эту информацию. Например может быть «image/gif». Обратите внимание, что компонент вышеупомянутых переменных «$userfile» — это любое значение поля Name тега INPUT c TYPE=file обозначенное в форме загрузки. В приведенном выше примере формы загрузки мы назвали его «userfile».
По умолчанию файлы будут сохранены в заданном по умолчанию временном каталоге сервера. Его можно изменить, установкой переменной среды TMPDIR в среде, в которой PHP выполняется. Хотя, использование при ее установке обращения PutEnv () изнутри сценария PHP не будет работать.
Скрипт PHP, который получает загруженный файл, должен определить, что должно быть выполнено с загруженным файлом. Вы можете, например, использовать переменную $file_size, чтобы отбросить любые файлы, которые являются или слишком маленькими или слишком большими. Вы могли бы использовать переменную $file_type, чтобы отбросить любые файлы, которые не соответствуют некоторым критериям типа. В любом случае, вы должны или удалить файл из временного каталога или переместить эго в другое место.
Файл будет удален из временного каталога в конце запроса, если он не перемещен или переименован.
Пожалуйста обратите внимание, что вебсервер CERN httpd, кажется, удаляет все начинающееся с первого пробела в заголовке content-type mime, полученном от клиента. Пока дело обстоит так, CERN httpd не будет поддерживать возможность загрузки файла.
Мой блог находят по следующим фразам