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 相关文章推荐
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php处理restful请求的路由类分享
Feb 27 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 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 数据库字段复用的基本原理与示例
2011/07/22 PHP
php除数取整示例
2014/04/24 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
PHP attributes()函数讲解
2019/02/03 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
js 事件小结 表格区别
2007/08/13 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
javascript连续赋值问题
2015/07/08 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
python实现获取序列中最小的几个元素
2014/09/25 Python
python tkinter界面居中显示的方法
2018/10/11 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
护理不良事件检讨书
2014/02/06 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
Django Paginator分页器的使用示例
2021/06/23 Python