无法使用file_get_contents('php:// input')检索原始发布数据

时间:2016-05-04 06:11:08

标签: php post file-get-contents postman

这是我的代码。我正在使用post方法发布我的数据。

$post_body = file_get_contents('php://input');
if(getenv('REQUEST_METHOD') == 'POST'){
    print_r( array( "3","3d"));
}
print_r($post_body);

我正在使用chrome的邮递员测试此代码,但它不打印发布数据,请参阅输出图像。

output image

我做错了什么???

修改

为了说明我如何解决我的问题,我正在添加此图片。

To show

2 个答案:

答案 0 :(得分:2)

根据PHP documentation

  

php://input不适用于enctype =“multipart / form-data”。

Postman 支持不同类型的Content-Type,包括multipart/form-data,这似乎是默认的。

因此,请确保您不使用multipart/form-data(在Body标签中)。

答案 1 :(得分:0)

我在测试symfony端点时遇到了类似的麻烦,但原因却完全不同:

我的课堂上只有功能。我做了

var_dump(file_get_contents('php://input'));

在函数的第一行,恰好是该类中的第一个函数。即使参数正确,这也会返回empty(“”)。

我的问题是我忘了使用FULL路由,但是由于邮递员试图运行此功能,所以我花了太多时间来注意。 希望能帮助到你!