可能重复:
Get raw post data
从php://input
读取有效,除非请求正文为multipart/form-data
格式,在这种情况下不会读取任何内容。
我听说php://input
只能读一次,这是我怀疑可能造成这种情况的原因(即PHP可能会在php://input
之前看到multipart/form-data
我能抓住它)。但是,在测试中我发现我能够多次从流中读取而没有问题。
无论采用何种格式,都有办法获取请求体吗?
这是我到目前为止所得到的:
$body = '';
$handle = fopen('php://input', 'r');
while(!feof($handle)) {
$body .= fread($handle, 1024);
}
答案 0 :(得分:0)
您可以让PHP始终填充$ HTTP_RAW_POST_DATA 见http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data 虽然不是最有效的方式。