multipart/form-data
的问题迫使我手动解析POST请求的参数,就像我已经为PUT请求做的那样。为此,我使用了这段代码:
$rawData = file_get_contents('php://input');
但我认为php://input
对于POST来说总是空的,至少对于php-fpm
SAPI来说是
以下是调试器的一些图片。 POST请求:
PUT与相同的参数:
有没有办法获得原始POST请求正文?提前谢谢。
答案 0 :(得分:7)
PHP 5.4之前 $HTTP_RAW_POST_DATA
不适用于enctype="multipart/form-data"
(某些SAPI实施除外),此处有解释:
我建议你看一下现有问题的几个答案:
从PHP 5.4 + ,您可以使用php.ini
指令enable_post_data_reading
来禁用PHP使用原始数据(因此处理它),请注意$_POST
并且不会填充$_FILES
(请参阅Vitaly Chirkov answer)。
答案 1 :(得分:-1)
你能试试吗
var_dump($HTTP_RAW_POST_DATA);
来源:
http://php.net/manual/en/reserved.variables.httprawpostdata.php
=== 编辑 - 这不会显示'multipart / form-data'的原始发布数据