php微信开发之关键词回复功能


Posted in PHP onJune 13, 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;
  $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(!empty( $keyword ))
  {
   $msgType = "text";
   if($keyword=="1"){
   $contentStr = "qiphon";}
   if($keyword=="2"){
   $contentStr = "最新资讯:《环境违法行为举报奖励办法》";}
   if($keyword=="3"){
   $contentStr = "31离婚协议\n32租房合同\n33交通事故协议书";}   
   $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中的 == 运算符进行字符串比较
Nov 26 PHP
傻瓜化配置PHP环境――Appserv
Dec 13 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
php中实现获取随机数组列表的自定义函数
Apr 02 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 #PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 #PHP
php中html_entity_decode实现HTML实体转义
Jun 13 #PHP
You might like
php程序效率优化的一些策略小结
2010/07/17 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
详解JS浏览器事件循环机制
2019/03/27 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
求职自荐信怎么写
2014/03/06 职场文书
开工典礼致辞
2015/07/29 职场文书
聘用合同范本
2015/09/21 职场文书
入党申请书怎么写?
2019/06/21 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript