接收事件推送并且回复的方法,以关注事件为例。
//接收时间推送并且回复 public function reponseMsg(){ //获取到微信推送过来的post数据(xml格式) $postArr = $GLOBALS[‘HTTP_PAW_POST_DATA‘]; //将xml数据转化成一个对象; $postObj = simplexml_load_file($postArr); //判断该数据包的事件推送类型,如果是事件 if(strtolower($postObj->MsgType)==‘event‘){ //如果该事件是关注事件的话 if(strtolower($postObj->Event)==‘subscribe‘){ //准备好即将返回的变量 $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = ‘text‘; $content = ‘欢迎关注我们的微信公众号‘; $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $info = sprintf($template,$toUser,$fromUser,$time,$msgType,$content); echo $info; } } }