加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

了解在PHP中处理用户关注的操作

发布时间:2023-10-07 10:39:09 所属栏目:PHP教程 来源:
导读:本文实例为大家分享了php微信关注事件的具体代码,供大家参考,具体内容如下:

<!--?php
/**
* wechat php test
*/

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCa
本文实例为大家分享了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 (!emptyempty($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(!emptyempty( $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; 
    } 
  } 

  
?> 
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章