PHP獲取原生POST數據

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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章