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程序中的常见漏洞进行攻击
Oct 09 PHP
不用GD库生成当前时间的PNG格式图象的程序
Oct 09 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
php防止SQL注入详解及防范
Nov 12 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
深入理解PHP中的count函数
May 31 PHP
ThinkPHP3.2框架操作Redis的方法分析
May 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 中的str_replace 函数总结
2007/04/27 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
laravel自定义分页效果
2017/07/23 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
jQuery数组处理方法汇总
2011/06/20 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
深入探讨前端框架react
2015/12/09 Javascript
js实现简单的验证码
2015/12/25 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
2015年乡镇平安建设工作总结
2015/05/13 职场文书
六年级情感作文之500字
2019/10/23 职场文书