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 相关文章推荐
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
24条货真价实的PHP代码优化技巧
Jul 28 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
php实现查询功能(数据访问)
May 23 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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在字符断点处截断文字的实现代码
2011/04/21 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
PHP多态代码实例
2015/06/26 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
Bootstrap表单布局
2016/07/19 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
Python中有趣在__call__函数
2015/06/21 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
详解python中的json和字典dict
2018/06/22 Python
Django添加feeds功能的示例
2018/08/07 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
如何唤起类中的一个方法
2013/11/29 面试题
审核会计岗位职责
2013/11/08 职场文书
房屋转让协议书
2014/04/11 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
python如何在word中存储本地图片
2021/04/07 Python