В строке параметров 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