php中獲取數據 php://input、$_POST與$GLOBALS['HTTP_RAW_POST_DATA']三者的區別

$_POSTphp

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

 

$GLOBALS['HTTP_RAW_POST_DATA']url

若是php沒法識別Coentent-Type類型,也就沒法獲取請求數據,這個時候,能夠用$GLOBALS['HTTP_RAW_POST_DATA']來獲取。code

 

php://inputorm

1. 從使用結果看,php://input與$GLOBALS['HTTP_RAW_POST_DATA']的功能是同樣的,可是,php://input須要的內存比較小,而且它不受 php.ini 配置文件的限制。ip

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獲取到的數據纔是一致的。get

4. 使用方式:使用file_get_contents('php://input')獲取請求數據。
相關文章
相關標籤/搜索