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中使用XML
Oct 09 PHP
php的access操作类
Apr 09 PHP
php 404错误页面实现代码
Jun 22 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
php实现分页工具类分享
Jan 09 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
yii2 上传图片的示例代码
Nov 02 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
TP5框架页面跳转样式操作示例
Apr 05 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源码之explode使用说明
2011/08/05 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
浅谈numpy库的常用基本操作方法
2018/01/09 Python
简单实现python画圆功能
2018/01/25 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
python 实现批量图片识别并翻译
2020/11/02 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
标准自荐信范文
2014/01/29 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
低碳环保标语
2014/06/12 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
办理收楼委托书范本
2014/10/09 职场文书