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中使用Oracle数据库(6)
Oct 09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
php UBB 解析实现代码
Nov 27 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
smarty内置函数section的用法
Jan 22 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
PHP自定义多进制的方法
Nov 03 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Java及python正则表达式详解
2017/12/27 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python re.match()用法相关示例
2021/01/27 Python
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
教师考核评语
2014/04/28 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
教师个人年度总结
2015/02/11 职场文书
普通员工辞职信范文
2015/05/12 职场文书
排球赛新闻稿
2015/07/17 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书