PHP获取POST数据的几种方法汇总 |
本文标签:PHP,获取,POST数据 一、PHP获取POST数据的几种方法 方法1、最常见的方法是:$_POST[fieldname]; 说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据 方法2、file_get_contents("php://input"); 说明: 方法3、$GLOBALS[HTTP_RAW_POST_DATA]; 说明: 二、演示 1、PHP 如何获取POST过来的XML数据和解析XML数据 比如我们在开发微信企业号时,如何处理用户回复过来的数据呢? 假设该URL为 http://www.xxx.com POST的XML内容为: 复制代码 代码如下: <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> <AgentID>1</AgentID> </xml> 那么怎么接收这段内容呃? 方法2(file_get_contents("php://input")): 复制代码 代码如下: $input = file_get_contents("php://input"); //接收POST数据 $xml = simplexml_load_string($input); //提取POST数据为simplexml对象 var_dump($xml); 方法3($GLOBALS[HTTP_RAW_POST_DATA]) 复制代码 代码如下: $input = $GLOBALS[HTTP_RAW_POST_DATA]; libxml_disable_entity_loader(true); $xml = simplexml_load_string($input, SimpleXMLElement, LIBXML_NOCDATA); var_dump($xml); |