我无法用PHP读取我的POST HTTP请求的正文!

时间:2010-07-29 11:52:23

标签: php post

我从未使用过PHP,但是现在,我需要编写一个PHP文件,在日志文件中显示POST HTTP请求正文的内容。

我已经读过您可以通过_POST数组访问正文的变量。 不幸的是,它似乎是空的,虽然我很确定我的HTTP请求的主体中有东西!

我应该使用什么来100%确定我的HTTP正文的内容?

感谢。

4 个答案:

答案 0 :(得分:57)

$post_body = file_get_contents('php://input');
  

php://input允许您读取原始POST数据。它是$HTTP_RAW_POST_DATA的内存密集型替代品,不需要任何特殊的php.ini指令。 php://input不适用于enctype =“multipart / form-data”。

(来源:http://php.net/wrappers.php

答案 1 :(得分:2)

答案 2 :(得分:2)

全局变量为$_POST,而不是_POST。也可能是您通过GET方法发送数据,在这种情况下,您需要使用$_GET全局变量。

如果要检查POSTGET方法,可以使用全局变量$_REQUEST。示例代码如下:

<html>
<body>
<form method="POST" action="postdata.php">
<input type="text" name="mydata" />
<input type="submit">
</form>
</body>
</html>

文件 postdata.php

<?php

$result = $_POST['mydata'];
echo $result;

答案 3 :(得分:0)

也许你拼错了。数组的正确名称为$_POST

试试这个

<?php
var_dump($_POST);

看看会发生什么。