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 写文本日志实现代码
May 18 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
浅析iis7.5安装配置php环境
May 10 PHP
php制作的简单验证码识别代码
Jan 26 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
JavaScript 比较时间大小的代码
2010/04/24 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python 字符串格式化代码
2013/03/17 Python
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
本科毕业生求职自荐信
2014/02/03 职场文书
我为自己代言广告词
2014/03/18 职场文书
政治思想表现评语
2014/05/04 职场文书
社区国庆节活动总结
2015/03/23 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
校运会宣传稿大全
2015/07/23 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
JavaScript组合继承详解
2021/11/07 Javascript