Можно ли использовать enctype= «multipart/form-data» и для нефайловых входов?

#php #html #forms

#php #HTML #формы

Вопрос:

Разрешено ли это?

 <form enctype="multipart/form-data" action="__URL__" method="POST">
  <input type="text" name="text_input" />
  <input type="other_types" name="other_types_input" />
  <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  <input name="userfile" type="file" />
  <input type="submit" value="Submit" />
</form>
  

Он будет использоваться с PHP…

Комментарии:

1. Это запрещено Межзвездной интернет-полицией, и любой акт использования multipart / form-data приведет к смертному приговору. 🙂

2. Лол… Я не пробовал. Да, я немного ленив после нескольких попыток спросить Google безрезультатно 🙂

Ответ №1:

Да, это абсолютно правильно. Никаких проблем.

Ответ №2:

Это прекрасно.

Так обычно структурируются формы с файловыми элементами в них.

Ответ №3:

Хотя вопрос старый, в уже опубликованных ответах нет объяснений, поэтому я добавляю это, чтобы это было полезно для будущих читателей.

Метод HTTP POST отправляет данные на сервер. Тип тела запроса указывается заголовком Content-Type . Тип содержимого выбирается путем помещения соответствующей строки в атрибут enctype элемента или атрибут formenctype элементов or . HTML-формы предоставляют три метода кодирования.

  1. application/x-www-form-urlencoded (по умолчанию)
  2. multipart/form-data
  3. текст / обычный

для multipart / form-data каждое значение отправляется как блок данных («часть тела») с определяемым пользователем разделителем («граница»), разделяющим каждую часть. Ключи указаны в заголовке Content-Disposition каждой части. Не имеет значения, отправляете вы файл или нет. так что все должно быть хорошо.

Обратитесь к mozila doc