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 相关文章推荐
CodeIgniter php mvc框架 中国网站
May 26 PHP
php array_search() 函数使用
Apr 13 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php权重计算方法代码分享
Jan 09 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
php中addslashes函数与sql防注入
Nov 17 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
基于PHP实现短信验证码接口(容联运通讯)
Sep 06 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 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+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
Vue中使用sass实现换肤功能
2018/09/07 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
铭万公司.net面试题笔试题
2014/07/20 面试题
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
高一新生军训感言
2014/03/02 职场文书
四群教育工作实施方案
2014/03/26 职场文书
关于青春的演讲稿
2014/05/05 职场文书
学生偷窃检讨书
2014/09/25 职场文书
高三复习计划
2015/01/19 职场文书
教师外出学习心得体会
2016/01/18 职场文书
晚会开幕词范文
2016/03/04 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python