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 相关文章推荐
PHP令牌 Token改进版
Jul 18 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
Yii中表单用法实例详解
Jan 05 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
PHP语法速查表
2007/01/02 PHP
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
深入了解js原型模式
2019/05/30 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python实现批量下载文件
2015/05/17 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
毕业生的自我评价
2013/12/30 职场文书
护士在校生自荐信
2014/02/01 职场文书
酒店管理求职信范文
2014/04/06 职场文书
社会实践活动总结报告
2014/04/29 职场文书
淘宝客服工作职责
2014/07/11 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
家长通知书家长意见
2015/06/03 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis