php微信开发之图片回复功能


Posted in PHP onJune 14, 2018

本文实例为大家分享了php微信图片回复功能的具体代码,供大家参考,具体内容如下

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];

    //valid signature , option
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }

  public function responseMsg()
  {
    //get post data, May be due to the different environments
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

    //extract post data
    if (!empty($postStr)){

        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $type = $postObj->MsgType;
        $customrevent = $postObj->Event;
        $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($type=="event" and $customrevent=="subscribe"){
          $contentStr = "33333333333";
          $msgType = "text";
          $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
          echo $resultStr;
          }  
        if($type=="image" ){
          $contentStr = "你的图片很棒!";
          $msgType = "text";
          $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
          echo $resultStr;
          }  

        if(!empty( $keyword ))
        {                
          $msgType = "text";
          if($keyword=="1"){
          $contentStr = "333";}
          if($keyword=="2"){
          $contentStr = "444
          if($keyword=="3"){
          $contentStr = "11";}          
          $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
          echo $resultStr;
        }else{
          echo "Input something...";
        }

    }else {
      echo "";
      exit;
    }
  }

  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];  

    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
php以post形式发送xml的方法
Nov 04 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
php微信开发之关键词回复功能
Jun 13 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
php源码的安装方法和实例
Sep 26 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
php微信开发之音乐回复功能
Jun 14 #PHP
php微信开发之关键词回复功能
Jun 13 #PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 #PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
You might like
PHP 数据库树的遍历方法
2009/02/06 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
php实现微信模板消息推送
2018/03/30 PHP
ArrayList类(增强版)
2007/04/04 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
vue实现图片上传功能
2020/05/28 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
python基于ID3思想的决策树
2018/01/03 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
python matplotlib拟合直线的实现
2019/11/19 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
六道php面试题附答案
2014/06/05 面试题
工艺工程师工作职责
2013/11/23 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
行政专员求职信范文
2014/05/03 职场文书
党支部承诺书
2015/01/20 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书