Enctype multipart

Про те, навіщо потрібно потрібно вказувати атрибут enctype зі значенням multipart / form-data в тезі FORM, при створенні форми завантаження файлів на сервер. Складено за даними специфікації HTML 4.01 і даними узятим з Вікіпедії.

Бажання розібратися в дрібницях завжди згубно позначається на узагальненому результаті. Тим не менше, чому для завантаження файлу, в тезі 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. яка була супер-глобальний масив містить інформацію і завантажуються файли.

Також, буде цікаво прочитати: