• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php微信开发之关注事件

    本文实例为大家分享了php微信关注事件的具体代码,供大家参考,具体内容如下

    ?php
    /**
     * wechat php test
     */
    
    //define your token
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    //$wechatObj->valid();
    $wechatObj->responseMsg();
    class wechatCallbackapiTest
    {
     public function valid()
     {
      $echoStr = $_GET["echostr"];
    
      //valid signature , option
      if($this->checkSignature()){
       echo $echoStr;
       exit;
      }
     }
    
     public function responseMsg()
     {
      //get post data, May be due to the different environments
      $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    
      //extract post data
      if (!empty($postStr)){
    
        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $type = $postObj->MsgType;
        $customevent = $postObj->Event;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "xml>
           ToUserName>![CDATA[%s]]>/ToUserName>
           FromUserName>![CDATA[%s]]>/FromUserName>
           CreateTime>%s/CreateTime>
           MsgType>![CDATA[%s]]>/MsgType>
           Content>![CDATA[%s]]>/Content>
           FuncFlag>0/FuncFlag>
           /xml>";    
        if($type=="event" and $customrevent=="subscribe"){
         $contentStr = "感谢你的关注\n回复1查看联系方式\n回复2查看最新资讯\n回复3查看法律文书";
         $msgType = "text";
         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
         echo $resultStr;
         } 
        if(!empty( $keyword ))
        {        
         $msgType = "text";
         if($keyword=="1"){
         $contentStr = "qiphon";}
         if($keyword=="2"){
         $contentStr = "test 。";}
         if($keyword=="3"){
         $contentStr = "test333";}     
         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
         echo $resultStr;
        }else{
         echo "Input something...";
        }
    
      }else {
       echo "";
       exit;
      }
     }
    
     private function checkSignature()
     {
      $signature = $_GET["signature"];
      $timestamp = $_GET["timestamp"];
      $nonce = $_GET["nonce"]; 
    
      $token = TOKEN;
      $tmpArr = array($token, $timestamp, $nonce);
      sort($tmpArr);
      $tmpStr = implode( $tmpArr );
      $tmpStr = sha1( $tmpStr );
    
      if( $tmpStr == $signature ){
       return true;
      }else{
       return false;
      }
     }
    }
    
    ?>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • php判断用户是否关注微信公众号
    • 微信公众号判断用户是否已关注php代码解析
    • php微信公众号开发之欢迎老朋友
    上一篇:thinkPHP框架动态配置用法实例分析
    下一篇:thinkPHP框架实现多表查询的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php微信开发之关注事件 php,微信,开,发之,关注,事件,