最常见的方法是:
$_POST['paraname'];
$_POST是个数组,是post方法发送的变量名和变量值,
存放的是 PHP以key=>value的形式格式化往后的数据。
这是在进行web开法时最常用的办法,但此种方法有局限性,
只能吸收Content-Type: application/x-www-form-urlencoded提交的数据,
我们必须通过一个表单(真实或仿照)来进行提交。
但是此种办法在进行接口(如给APP供应接口)开拓时,就不是很方便了。
这个时候,利用:
file_get_contents(\公众php://input\"大众);将会非常的便捷。
用PHP吸收POST的任何数据都可以利用本方法。而不用考虑Content-Type。
把稳:
也可以利用$HTTP_RAW_POST_DATA 来获取数据,
但是利用file_get_contents(\公众php://input\"大众)给内存带来的压力较小,并且不须要任何分外的 php.ini 设置。
但是不能用于 enctype=\"大众multipart/form-data\"大众。
这样的情形下$HTTP_RAW_POST_DATA默认没有添补,
比激活
always_populate_raw_post_data
潜在须要更少的内存。
但$GLOBALS['HTTP_RAW_POST_DATA']中
是否保存POST过来的数据取决于centent-Type的设置,
即POST数据时 必须显式示指明
Content-Type: application/x-www-form-urlencoded,
POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
php://input是个可以访问要求的原始数据的只读流。
在微信中通报的是xml格式的数据以发送xml格式数据为例:
//吸收POST数据
$data = file_get_contents(\"大众php://input\"大众);
//提取POST数据为simplexml工具
$xml = simplexml_load_string($data);
var_dump($xml);
这样一来,解析数据将会变得简洁,方便。