我希望在HTTP
PHP:
个请求
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
数组中使用它们的名称作为索引键来访问表单元素,但在这种情况下,没有表单元素名称,并且表单数据部分不是线性的(即子部分=多级数组)。
感谢任何帮助!
/罗伯特
答案 0 :(得分:3)
$HTTP_GET_VARS
,$HTTP_POST_VARS
等是一种过时的表示法,您应该使用$_GET
,$_POST
等。
现在,文件内容应该在$_FILES
全局数组中,而如果没有元素名称,我不确定其余内容是否会显示在$_POST
中。无论如何,如果 php.ini 中的always_populate_raw_post_data
设置为true,则数据应该在$HTTP_RAW_POST_DATA
中。此外,在阅读 php:// input 。
答案 1 :(得分:1)
你应该注意:
“php:// input允许您读取原始POST数据。它是$ HTTP_RAW_POST_DATA的内存密集型替代品,不需要任何特殊的php.ini指令。 php://输入不适用于enctype =“multipart / form-data”
从php手册...所以看来php://输入不可用
无法发表评论,但这是为了补充pilsetnieks的回答
答案 2 :(得分:-2)
上载的文件可以通过$ _FILE全局变量访问,其他参数可以通过$ _GET全局变量访问。