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的计数器程序
Oct 09 PHP
PHP 选项及相关信息函数库
Dec 04 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
PHP反射机制用法实例
Aug 28 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
双冒号 ::在PHP中的使用情况
Nov 05 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
自制PHP框架之设计模式
May 07 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 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递归函数返回值使用方法
2013/02/18 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
JS实现购物车特效
2017/02/02 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python遍历类中所有成员的方法
2015/03/18 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
Python csv模块使用方法代码实例
2019/08/29 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
计算机专业优秀大学生自我总结
2014/01/21 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
实习工作表现评语
2014/12/31 职场文书
项目验收申请报告
2015/05/15 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书