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 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
PHP的FTP学习(二)
Oct 09 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
PHP json_decode函数详细解析
Feb 17 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
php下的原生ajax请求用法实例分析
Feb 28 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
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
python 切片和range()用法说明
2013/03/24 Python
详细介绍Python函数中的默认参数
2015/03/30 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
python交互式图形编程实例(三)
2017/11/17 Python
python实现括号匹配的思路详解
2018/08/23 Python
Python3解释器知识点总结
2019/02/19 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
python画微信表情符的实例代码
2019/10/09 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
初入社会应届生求职信
2013/11/18 职场文书
社区党员公开承诺书
2014/08/30 职场文书
普通党员个人整改措施
2014/10/27 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python