From :
http://blog.csdn.net/hotdigger/article/details/6456240
一般我們都用$_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,包括二進制文件流也可以。 所以用方法二是最保險的方法。