接收事件推送并且回复的方法,以关注事件为例。
//接收时间推送并且回复
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;
}
}
}
原文:http://my.oschina.net/woshixiaomayi/blog/511521