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 相关文章推荐
mysql建立外键
Nov 25 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
laravel框架使用极光推送消息操作示例
Feb 15 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
ajax异步刷新实现更新数据库
2012/12/03 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
由ReactJS的Hello world说开来
2015/07/02 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
javascript计算渐变颜色的实例
2017/09/22 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
js实现一个简易计算器
2020/03/30 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
12步教你理解Python装饰器
2016/02/25 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
美国羊皮公司:Overland
2018/01/15 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
家长会学生家长演讲稿
2013/12/29 职场文书
销售顾问岗位职责
2014/02/25 职场文书
会计演讲稿范文
2014/05/23 职场文书
小学生常见病防治方案
2014/06/06 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
售房协议书
2014/08/19 职场文书
认错检讨书
2014/10/02 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
汽车销售员工作总结
2015/08/12 职场文书
心理学培训心得体会
2016/01/22 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
python入门学习关于for else的特殊特性讲解
2021/11/20 Python