用于设置表单字段名称的HTTP标头(multipart / form-data)

时间:2008-09-19 13:03:26

标签: php http multipartform-data

我将原始HTTP请求传递给apache服务器(由PHP接收)。请求的类型为multipart / form-data,即提交HTML表单时使用的MIME类型。 但是,我不确定用于设置表单字段名称的HTTP标头(我只是假设它是定义它的标头,不知道它可能是什么),然后可以在PHP中使用它来访问$ _GET或$ _FILES中的字段。

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--

1 个答案:

答案 0 :(得分:3)

Content-Disposition标头具有名称参数,该名称参数具有控件名称。每个应该有一个--sub_boundary

--sub_boundary
Content-Disposition: form-data; name="mycontrol"

我差点忘了:如果字段是文件控件,那么还有一个文件名字段和一个Content-Type标题

--sub_boundary
Content-Disposition: form-data; name="mycontrol"; filename="file1.xml"
Content-Type: application/xml;

如果文件不是文本,则还需要

Content-Transfer-Encoding: binary