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 25 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
Jul 13 PHP
php中常用的预定义变量小结
May 09 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 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中如何直接执行SHELL
2013/06/28 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python中扩展包的安装方法详解
2017/06/14 Python
TensorFlow损失函数专题详解
2018/04/26 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
Python程序慢的重要原因
2020/09/04 Python
python cookie反爬处理的实现
2020/11/01 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
护理专业自荐信
2013/12/03 职场文书
编辑求职信样本
2013/12/16 职场文书
员工考核评语大全
2014/04/26 职场文书
实验室标语
2014/06/21 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年酒店工作总结
2015/04/28 职场文书
校运会新闻稿
2015/07/17 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang