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脚本的10个技巧(5)
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
FleaPHP的安全设置方法
Sep 15 PHP
PHP系统命令函数使用分析
Jul 05 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
php图片水印添加、压缩、剪切的封装类实现
Apr 18 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
PHP asXML()函数讲解
Feb 03 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
详解PHP Swoole与TCP三次握手
May 27 PHP
PHP实现两种排课方式
Jun 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
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
php简单压缩css样式示例
2016/09/22 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
python迭代器与生成器详解
2016/03/10 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
python实现桌面气泡提示功能
2019/07/29 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
2014年情人节活动方案
2014/02/16 职场文书
音乐教学随笔感言
2014/02/19 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
西双版纳导游词
2015/02/03 职场文书
家长会后的感想
2015/08/11 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
MySQL分库分表详情
2021/09/25 MySQL
使用Python获取字典键对应值的方法
2022/04/26 Python