Как сделать POST массив с кодировкой multipart / form-data?

В строке параметров GET или в запросе POST «x-www-form-urlencoded» можно указать массив параметров, назвав их скобками (например, «name []»).

Существует ли «правильный» (или, по крайней мере, широко распространенный вариант) способ указать массив параметров с запросом POST «multipart / form-data»?

Правильно ли будет следующее?

Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[]" first index --abc Content-Disposition: form-data; name="name[]" second index 

Если это зависит от платформы, меня интересует соглашение для Apache / PHP.

Если вам нужен связанный массив, вы можете передать индекс в поле имени формы:

 Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[first]" first value --abc Content-Disposition: form-data; name="name[second]" second value 

Затем на php уровне print_r ($ _ POST) даст вам

Array ( [name] => Array ( [first] => 'first value', [second] => 'second value' ) )

Если вы после обычного нормального упорядоченного массива так же, как и вы:

 Content-Type: multipart/form-data; boundary=--abc --abc Content-Disposition: form-data; name="name[]" first index --abc Content-Disposition: form-data; name="name[]" second index 

Затем на php уровне print_r ($ _ POST) даст вам

Array ( [name] => Array ( [0] => 'first index', [1] => 'second index' ) )

Парамы с [] в своих именах, переводящиеся на массивы на стороне сервера, являются функцией, специфичной для PHP ( http://www.php.net/manual/en/faq.html.php#faq.html.arrays ).

Что касается многострочной кодировки, вы можете найти больше в RFC: http://www.ietf.org/rfc/rfc1867.txt