php版微信自定义回复功能示例


Posted in PHP onDecember 05, 2016

本文实例讲述了php版微信自定义回复功能。分享给大家供大家参考,具体如下:

php版微信自定义回复功能示例

配置好服务器之后,就可以用php实现自动回复了。

index.php中的代码

<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
  $wechatObj->valid();
}else{
  $wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];
    if($this->checkSignature()){
      header('content-type:text');
      echo $echoStr;
      exit;
    }
  }
  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
  public function responseMsg()
  {
    $postStr = $GLOBALS["HTTP_RAW_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($keyword == "?" || $keyword == "?") //获取用户信息
      {
        $msgType = "text";
        $contentStr = date("Y-m-d H:i:s",time()); // 回复的内容
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;
      }
    }else{
      echo "";
      exit;
    }
  }
}
?>

效果:

当用户输入?或者?就会获取当前时间

php版微信自定义回复功能示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
php判断变量类型常用方法
Apr 24 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php函数与传递参数实例分析
Nov 15 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
PHPExcel导出2003和2007的excel文档功能示例
Jan 04 PHP
PHP微信模板消息操作示例
Jun 29 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 #PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 #PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 #PHP
thinkPHP中验证码的简单实现方法
Dec 05 #PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 #PHP
简述php环境搭建与配置
Dec 05 #PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 #PHP
You might like
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
jQuery常见开发技巧详细整理
2013/01/02 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
护理学毕业生求职信
2013/11/14 职场文书
主治医师岗位职责
2013/12/10 职场文书
《画家乡》教学反思
2014/04/22 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书