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 获取完整url地址
Dec 20 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
PHP基础学习小结
Apr 17 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP程序员学习使用Swoole的理由
Jun 24 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
ip签名探针
2006/10/09 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
php中session与cookie的比较
2015/01/27 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
使用js检测浏览器的实现代码
2013/05/14 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
python tkinter canvas使用实例
2019/11/04 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
采购部部门职责
2013/12/15 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
小班评语大全
2014/05/04 职场文书
环保建议书400字
2014/05/14 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP