如何获取多部分/表单数据 POST 请求的原始 Post 数据
尽管 php://input 和 $ 都有限制HTTP_RAW_POST_DATA 在处理 multipart/form-data POST 请求时,存在一个解决方法。
根据 PHP 手册,“php://input 允许访问原始 POST 数据,为 $HTTP_RAW_POST_DATA 提供更节省内存的替代方案。”但是,需要注意的是,php://input 对于 enctype="multipart/form-data" 的请求不可用。
要克服此限制,一个聪明的解决方案涉及操作请求标头。通过向 Apache 配置添加特定配置,您可以拦截传入的 multipart/form-data 请求并将其 Content-Type 更改为 multipart/form-data-alternate。此步骤有效地阻止 PHP 尝试解析数据。
随后,利用 php://input 将授予对原始数据的访问权限,从而启用自定义解析。这种方法允许开发人员有效地处理来自 multipart/form-data 表单的数据,而无需依赖 PHP 的内置解析机制。
重要的是要注意,使用此解决方法将使 $_FILES 为空,因为 PHP 会不尝试处理文件上传。尽管如此,对于需要直接解析多部分/表单数据的情况,它仍然是一个可行的解决方案。
以上是如何在 PHP 中从多部分/表单数据请求访问原始 POST 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!