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 中文处理技巧
Apr 25 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
php 如何禁用eval() 函数实例详解
Dec 01 PHP
PHPMailer发送邮件
Dec 28 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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
国内咖啡文化
2021/03/03 咖啡文化
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python根据时间获取周数代码实例
2019/09/30 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
求职简历自荐信
2013/10/20 职场文书
监理资料员岗位职责
2014/01/03 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
售后客服个人自我评价
2014/09/14 职场文书
光荣之路观后感
2015/06/12 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
JS数组去重详情
2021/11/07 Javascript
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript