用PHP接收多部分POST数据请求
时间:2020-03-06 14:25:19 来源:igfitidea点击:
我想在PHP中接收以下HTTP请求:
Content-type: multipart/form-data;boundary=main_boundary --main_boundary Content-type: text/xml <?xml version='1.0'?> <content> Some content goes here </content> --main_boundary Content-type: multipart/mixed;boundary=sub_boundary --sub_boundary Content-type: application/octet-stream File A contents --sub_boundary Content-type: application/octet-stream File B contents --sub_boundary --main_boundary--
(注意:我缩进了这些子部分,只是为了使本帖子更具可读性。)
我对PHP不太熟练,希望获得一些帮助/指针,以弄清楚如何在PHP代码中接收这种多部分表单请求。我曾经写过一些代码来接收标准HTML表单,然后可以通过将它们的名称用作$ HTTP_GET_VARS数组中的索引键来访问表单元素,但是在这种情况下,没有表单元素名称,并且表单数据部分不是线性的(即子部分=多级数组)。
感谢帮助!
/罗伯特
解决方案
上载的文件可以通过$ _FILE全局变量访问,其他参数可以通过$ _GET全局变量访问。
$ HTTP_GET_VARS,$ HTTP_POST_VARS
等已过时,我们应使用$ _GET`,$ _ POST等。
现在,文件内容应该在$ _FILES
全局数组中,但是,如果没有元素名称,我不确定其余内容是否会显示在$ _POST
中。无论如何,如果php.ini中的" always_populate_raw_post_data"设置为true,则数据应位于" $ HTTP_RAW_POST_DATA"中。另外,阅读php:// input时应显示整个请求。