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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php自动跳转中英文页面
Jul 29 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php curl_init函数用法
Jan 31 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
PHP PDOStatement::setFetchMode讲解
Feb 03 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 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 日志缩略名的创建函数代码
2010/05/26 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
python的pstuil模块使用方法总结
2019/07/26 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
简单的命令查看安装的python版本号
2020/08/28 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
夜大自我鉴定
2013/10/31 职场文书
上班离岗检讨书
2014/09/10 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
西双版纳导游词
2015/02/03 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python