温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php微信开发之关注事件的示例分析

发布时间:2021-08-11 11:13:07 阅读:103 作者:小新 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍了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微信开发之关注事件的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×