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代码简化
Feb 08 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
PHP 透明水印生成代码
Aug 27 PHP
php简单生成随机数的方法
Jul 30 PHP
php三种实现多线程类似的方法
Oct 30 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
php实现简单的上传进度条
Nov 17 PHP
PHP书写格式详解(必看)
May 23 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
php读取和保存base64编码的图片内容
Apr 22 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 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 短链接算法收集与分析
2011/12/30 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
Python 从列表中取值和取索引的方法
2018/12/25 Python
python实现手机销售管理系统
2019/03/19 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
20岁生日感言
2014/01/13 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
成绩单家长评语大全
2014/04/16 职场文书
五一活动标语
2014/06/30 职场文书
2014年调度员工作总结
2014/11/19 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python