如何在PHP中访问POST数据?

2022-08-30 16:35:15

我需要编写一个PHP页面,该页面将接受通过POST请求发送的XML文档,如下所示:

POST /mypage.php HTTP/1.1
Host: myhost.com
Content-Type: application/xml
Content-Length: ...

<?xml version="1.0" encoding="utf-8"?>
<data>
 ...
</data>

这不是来自某些HTML表单的数据,只是一个普通的XML文档。

如何在我的 PHP 代码中访问此 XML?


答案 1

php://input 阅读。例如,您可以使用:

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

$rootNode = simplexml_load_file('php://input');

使用$HTTP_RAW_POST_DATA的替代方法也可以 - 但它的速度较慢,并且需要PHP配置always_populate_raw_post_data


推荐