php://input 在POST请求时为空
php://input 在POST请求时为空,php,http,post,multipartform-data,Php,Http,Post,Multipartform Data,多部分/表单数据的问题迫使我手动解析POST请求的参数,就像我已经对PUT请求所做的那样。为此,我使用了以下代码: $rawData = file_get_contents('php://input'); 但我认为php://input对于POST始终为空,至少对于php fpmSAPI 下面是调试器的一些图片。后请求: 使用相同的参数放置: 有没有办法获得原始的POST请求正文?提前谢谢。你能试试吗 var_dump($HTTP_RAW_POST_DATA); 资料来源: http:/
多部分/表单数据的问题迫使我手动解析POST请求的参数,就像我已经对PUT请求所做的那样。为此,我使用了以下代码:
$rawData = file_get_contents('php://input');
但我认为php://input
对于POST始终为空,至少对于php fpm
SAPI
下面是调试器的一些图片。后请求:
使用相同的参数放置:
有没有办法获得原始的POST请求正文?提前谢谢。你能试试吗
var_dump($HTTP_RAW_POST_DATA);
资料来源:
http://php.net/manual/en/reserved.variables.httprawpostdata.php
===
编辑-这不会显示PHP 5.4之前的“多部分/表单数据”的原始post数据(除了一些SAPI实现),这里的解释如下:
我建议您看看现有问题的几个答案:
从PHP5.4+您可以使用PHP.ini
指令禁用使用原始数据的PHP(因此对其进行处理),请注意,$\u POST
和$\u文件
将不会被填充(请参阅)。同时,一个指向PHP手册页的指针指出了为什么原始数据不可用于POST的原因:上面的注释,它可用于POST请求,但不适用于enctype=“multipart/form data”
forms;)正确,这就是我们正在讨论的问题(参见问题)。我建议您在下面看几个答案:(1)(2)@davidricitelli当然,我没有说您错了,只是隐藏了这个问题的关键问题^^^这不起作用$HTTP_原始_POST_数据不可与enctype=“multipart/form DATA”一起使用
:看起来像:php://input 对于enctype=“多部分/表单数据”也不可用