我从未使用过PHP,但是现在,我需要编写一个PHP文件,在日志文件中显示POST HTTP请求正文的内容。
我已经读过您可以通过_POST数组访问正文的变量。 不幸的是,它似乎是空的,虽然我很确定我的HTTP请求的主体中有东西!
我应该使用什么来100%确定我的HTTP正文的内容?
感谢。
答案 0 :(得分:57)
$post_body = file_get_contents('php://input');
php://input
允许您读取原始POST数据。它是$HTTP_RAW_POST_DATA
的内存密集型替代品,不需要任何特殊的php.ini指令。php://input
不适用于enctype =“multipart / form-data”。
答案 1 :(得分:2)
答案 2 :(得分:2)
全局变量为$_POST
,而不是_POST
。也可能是您通过GET
方法发送数据,在这种情况下,您需要使用$_GET
全局变量。
如果要检查POST
或GET
方法,可以使用全局变量$_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);
看看会发生什么。