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 什么是PEAR?(第三篇)
Mar 19 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
sae使用smarty模板的方法
Dec 17 PHP
memcache命令启动参数中文解释
Jan 13 PHP
PHP实现阳历到农历转换的类实例
Mar 07 PHP
PHP中COOKIES使用示例
Jul 26 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 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+mysql保存和输出文件
2006/10/09 PHP
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
php的4种常见运行方式
2015/03/20 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
详解a++和++a的区别
2017/08/30 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
小试小程序云开发(小结)
2019/06/06 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
Python中常用信号signal类型实例
2018/01/25 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python实现字典嵌套列表取值
2019/12/16 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
什么是servlet
2012/05/08 面试题
敬老院活动总结
2014/04/28 职场文书
法制宣传标语
2014/06/23 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
java代码实现空间切割
2022/01/18 Java/Android