PHP手冊中有這樣一個全局變量
$HTTP_RAW_POST_DATA — 原生POST數據
但是需要配置php.ini文件等
於是乎又找到了php://input
手冊中的說明如下:
php://input 是個可以訪問請求的原始數據的只讀流。 POST 請求的情況下,最好使用 php://input 來代替 $HTTP_RAW_POST_DATA,因爲它不依賴於特定的 php.ini 指令。 而且,這樣的情況下 $HTTP_RAW_POST_DATA 默認沒有填充, 比激活 always_populate_raw_post_data
潛在需要更少的內存。 enctype="multipart/form-data" 的時候 php://input 是無效的。
Note: php://input 打開的數據流只能讀取一次; 數據流不支持 seek 操作。 不過,依賴於 SAPI 的實現,請求體數據被保存的時候, 它可以打開另一個 php://input 數據流並重新讀取。 通常情況下,這種情況只是針對 POST 請求,而不是其他請求方式,比如 PUT 或者 PROPFIND。
So easy.
$data = file_get_contents(php://input);