如何在 PHP 中手动解析原始多部分/表单数据请求?

Mary-Kate Olsen
发布: 2024-10-28 19:07:29
原创
293 人浏览过

How to Manually Parse Raw Multipart/Form-Data Requests in PHP?

在 PHP 中手动解析原始 Multipart/Form-Data 数据

问题概述

解析 multipart/form-data 格式的原始 HTTP 请求数据可以在 PHP 中是具有挑战性的,特别是当通过未自动解析的 PUT 请求接收数据时。

手动解析的解决方案

由于 PHP 不会自动处理带有 multipart/form-data 的 PUT 请求,请手动解析是必要的。实现方法如下:

  1. 读取原始数据:使用 file_get_contents('php://input') 读取原始请求数据。
  2. 提取边界:解析CONTENT_TYPE头,获取分隔多部分数据段的边界字符串。
  3. 分割内容:根据边界字符串将原始数据分成块。删除结尾的“--”元素。
  4. 解析块:迭代每个块以识别和解析数据字段:

    • 上传的文件: 匹配指示使用 application/octet-stream MIME 类型的文件上传的块。提取名称属性和二进制文件内容。
    • 非文件字段: 匹配包含表单数据字段的块。提取 name 属性和相应的值。

用法

  1. 通过引用将空数组作为参数传递给 parse_raw_http_request 函数。
  2. 调用函数以使用解析的数据填充数组。
  3. 使用与表单字段名称对应的数组键访问解析的数据。

以上是如何在 PHP 中手动解析原始多部分/表单数据请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!