Enctype multipart/form-data в теге FORM при загрузке файлов

Желание разобраться в мелочах всегда пагубно сказывается на обобщенном результате. Тем не мене, почему для загрузки файла, в теге FORM, нужно указывать атрибут enctype, со значением multipart/form-data?

За разъяснениями обратимся к спецификации HTML 4.01.

Атрибут enctype элемента FORM определяет тип содержимого (англ. content type), используемый при кодировке набора данных формы для отправки на сервер. По умолчанию тип содержимого определен как application/x-www-form-urlencoded. Для пересылки файлов, бинарных данных или текста, содержащего не-ASCII символы следует использовать multipart/form-data.

Другими словами, атрибут enctype задает способ кодирования данных при их отправке. Но все же, в чем особенность multipart/form-data типа? Отгадка кроется в самом названии: multipart с англ. составной – т.е. получается: составные данные формы.

Прояснить этот термин мне помогла Википедия:

Составной документ – это тип документов, который помимо обычного текста, может содержать: таблицы, рисунки, видео, аудио и другие мультимедийные объекты. Составной документ также может быть использован для собирания нескольких документов в один.

Другими словами, такой вид кодирования позволяет отправлять на сервер различного типа (составные) данные формы.

Следует также отметить, что для такого типа данных как файлы в том же PHP имеется отдельная переменная $_FILE, представляющую собой супер-глобальный массив содержащий информацию и загружаемых файлах.

Также, будет интересно прочитать:

Похожие заметки

  • CSS центрирование по вертикали
    Основы блочной вёрстки на примере центрирования блочных элементов шаблона по вертикали, используя CSS-свойства: display:table-cell, line-height или po...
  • CSS центрирование по горизонтали
    Основы блочной вёрстки на примере центрирования блочных элементов шаблона по горизонтали, используя CSS-свойства: text-align и margin....
  • Символ пробела в HTML
    Символ пробела в HTML-коде web-страницы, его интерпретация браузером. Как отобразить на web-странице два и более подряд идущих пробелов?...
06.06.2010 Рубрика: Веб-мастеру