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编码转换
Nov 05 PHP
php curl基本操作详解
Jul 23 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
Yii框架form表单用法实例
Dec 04 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
PHP7常量数组用法分析
Sep 26 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 PHP
php抽象类和接口知识点整理总结
Aug 02 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的类 功能齐全的发送邮件类
2006/10/09 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
php抽象类用法实例分析
2015/07/07 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
javascript 写类方式之七
2009/07/05 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
Python中的getopt函数使用详解
2015/07/28 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
银行纠风工作实施方案
2014/06/08 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
MySQL数据库简介与基本操作
2022/05/30 MySQL