Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php://input 在POST请求时为空_Php_Http_Post_Multipartform Data - Fatal编程技术网

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=“多部分/表单数据”也不可用