PHP獲取Post的原始資料方法小結
阿新 • • 發佈:2018-11-11
From :
一般我們都用$_POST或$_REQUEST兩個預定義變數來接收POST提交的資料。但如果提交的資料沒有變數名,而是直接的字串,則需要使用其他的方式來接收。
方法一: 使用全域性變數$GLOBALS['HTTP_RAW_POST_DATA']來獲取。
在$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始資料。而$_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以後的資料。 但$GLOBALS['HTTP_RAW_POST_DATA']中是否儲存POST過來的資料取決於centent-Type的設定,即POST資料時必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的資料才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
方法二: 使用file_get_contents("php://input")來獲取。
對於未指定 Content-Type 的POST資料,則可以使用file_get_contents("php://input");來獲取原始資料。事實上,用PHP接收POST的任何資料都可以使用本方法。而不用考慮Content-Type,包括二進位制檔案流也可以。 所以用方法二是最保險的方法。
https://www.cnblogs.com/fullhouse/archive/2012/04/24/2468870.html