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 相关文章推荐
?繁体转换的class
Oct 09 PHP
php 保留小数点
Apr 21 PHP
基于PHP静态类的原罪详解
May 06 PHP
phpize的深入理解
Jun 03 PHP
如何使用Strace调试工具
Jun 03 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
php中如何执行linux命令详解
Nov 06 PHP
Smarty模板变量与调节器实例详解
Jul 20 PHP
php实现推荐功能的简单实例
Sep 29 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入门速成(2)
2006/10/09 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
javascript的回调函数应用示例
2014/02/20 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python备份文件的脚本
2008/08/11 Python
Python 的 with 语句详解
2014/06/13 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
详解python中的数据类型和控制流
2019/08/08 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
《故乡》教学反思
2014/04/10 职场文书
节能宣传周活动总结
2014/05/08 职场文书
主要领导对照检查材料
2014/08/26 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle