php://input、$_POST與$GLOBALS['HTTP_RAW_POST_DATA']三者的區別


$_POST

只有Coentent-Type的值為application/x-www.form-urlencoded和multipart/form-data兩種類型時,$_POST才能獲取到數據。

$GLOBALS['HTTP_RAW_POST_DATA']

如果php無法識別Coentent-Type類型,也就無法獲取請求數據,這個時候,可以用$GLOBALS['HTTP_RAW_POST_DATA']來獲取。

php://input

1. 從使用結果看,php://input與$GLOBALS['HTTP_RAW_POST_DATA']的功能是一樣的,但是,php://input需要的內存比較小,並且它不受 php.ini 配置文件的限制。
2. 如果Coentent-Type的類型為multipart/form-data,使用php://input和$GLOBALS['HTTP_RAW_POST_DATA']是獲取不到數據的,除此之外,php://input都能獲取到數據。
3. 僅當Coentent-Type的類型為application/x-www.form-urlencoded時,使用php://input和$_POST獲取到的數據才是一致的。
4. 使用方式:使用file_get_contents('php://input')獲取請求數據。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM