Dou*_*ugW 16 php apache post http multipartform-data
在GET参数字符串或"x-www-form-urlencoded"POST请求中,可以通过用括号命名它们来指定参数数组(例如"name []").
是否有"正确"(或至少是广泛传播的约定)方式来指定具有"multipart/form-data"POST请求的参数数组?
以下是正确的吗?
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
Run Code Online (Sandbox Code Playgroud)
如果它因平台而异,我对Apache/PHP的约定很感兴趣.
Ale*_*ski 20
如果需要关联数组,可以在表单字段的名称中传递索引:
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
Run Code Online (Sandbox Code Playgroud)
然后在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
Run Code Online (Sandbox Code Playgroud)
然后在php级别print_r($ _ POST)会给你
Array ( [name] => Array ( [0] => 'first index', [1] => 'second index' ) )
带有[]的params在服务器端转换为数组,是PHP特有的功能(http://www.php.net/manual/en/faq.html.php#faq.html.arrays).
至于多部分编码,您可以在RFC中找到更多信息:http://www.ietf.org/rfc/rfc1867.txt