微信公众号,判断用户是否为关注操作

 public function responseMsg(){
        //1、获取到微信推送过来的post数据(xml格式)
        $postArr = file_get_contents("php://input");
//        <xml>
//          <ToUserName><![CDATA[toUser]]></ToUserName>
//          <FromUserName><![CDATA[FromUser]]></FromUserName>
//          <CreateTime>123456789</CreateTime>
//          <MsgType><![CDATA[event]]></MsgType>
//          <Event><![CDATA[subscribe]]></Event>
//        </xml>
        //2、处理消息内容,并设置恢复类型和内容
        $postObj = simplexml_load_string($postArr,'SimpleXMLElement', LIBXML_NOCDATA);
        //$postObj->ToUserName = '';
        //$postObj->FromUserName = '';
        //$postObj->CreateTime = '';
        //$postObj->MsgType = '';
        //$postObj->event = '';
        //判断该数据包是否是订阅的事件推送
        if (strtolower( $postObj->MsgType ) == 'event'){
            //如果是关注事件
            if ( strtolower($postObj->Event )  == 'subscribe'){
                //回复用户消息

                $content = '感谢你的关注,请根据下面数字选项,选择你的问题:1、php是什么? 2、微信? 3、联系方式?4、官网';
                //推荐回复实例化
                $text = new \app\index\model\Index();
                $text->responseText($postObj,$content);
            }

        }
/**
 * 回复文本消息
 */
public function responseText($postObj,$content){
    $toUser = $postObj->FromUserName;
    $fromUser = $postObj->ToUserName;
    $time = time();
    $msgType = 'text';

    $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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值