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 ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
cakephp打印sql语句的方法
Feb 13 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP获取真实客户端的真实IP
Mar 07 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP实现链式操作的三种方法详解
Nov 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
PHP模板解析类实例
2015/07/09 PHP
php socket通信简单实现
2016/11/18 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
python logging模块的使用详解
2020/10/23 Python
什么是岗位职责
2013/11/12 职场文书
先进集体获奖感言
2014/02/13 职场文书
酒店节能减排方案
2014/05/26 职场文书
前台岗位职责范本
2015/04/16 职场文书
小学教育见习总结
2015/06/23 职场文书
母亲去世追悼词
2015/06/23 职场文书
政协常委会议主持词
2015/07/03 职场文书