总结下PHP获取Post的原始数据几种方法
方法一:$_POST
$_POST['paramName'] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据
方法二: 使用全局变量$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,包括二进制文件流也可以。 所以用方法三是最保险的方法。