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 Undefined index和Undefined variable的解决方法
Mar 27 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
解决MySQL中文输出变成问号的问题
Jun 05 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
php学习之 数组声明
Jun 09 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 PHP
对laravel的session获取与存取方法详解
Oct 08 PHP
thinkPHP事务操作简单案例分析
Oct 17 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 mysql数据库操作类
2008/06/04 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
解决layUI的页面显示不全的问题
2019/09/20 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python读取网页内容的方法
2015/07/30 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python实现弹窗祝福效果
2019/04/07 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
人事专员职责
2014/02/22 职场文书
公司晚会主持词
2014/03/22 职场文书
销售经理竞聘书
2014/03/31 职场文书
党日活动总结
2014/05/07 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
文化大革命观后感
2015/06/17 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers