php微信开发之关注事件


Posted in PHP onJune 14, 2018

本文实例为大家分享了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 相关文章推荐
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
PHP中实现Bloom Filter算法
Mar 30 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
php中时间函数date及常用的时间计算
May 12 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 #PHP
php微信开发之谷歌测距
Jun 14 #PHP
php微信开发之图片回复功能
Jun 14 #PHP
php微信开发之音乐回复功能
Jun 14 #PHP
php微信开发之关键词回复功能
Jun 13 #PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 #PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
You might like
PHP中SimpleXML函数用法分析
2014/11/26 PHP
php实现递归的三种基本方式
2020/07/04 PHP
js类 from qq
2006/11/13 Javascript
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
Python中的heapq模块源码详析
2019/01/08 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
python多进程并发demo实例解析
2019/12/13 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
组织关系转移介绍信
2014/01/16 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
公益广告语集锦
2014/03/13 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
毕业设计指导教师评语
2014/12/30 职场文书