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定时自动生成静态HTML的实现代码
Jun 20 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
php轻松实现文件上传功能
Mar 03 PHP
php网页版聊天软件实现代码
Aug 12 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 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随机生成福彩双色球号码的2种方法
2013/02/04 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
将list转换为json失败的原因
2013/12/17 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Python最小二乘法矩阵
2019/01/02 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
学生处主任岗位职责
2013/12/01 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
执行力心得体会
2013/12/31 职场文书
学习自我鉴定
2014/02/01 职场文书
工地安全生产标语
2014/06/06 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
学术会议领导致辞
2015/07/29 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL