php微信公众号开发之图片回复


Posted in PHP onOctober 20, 2018

本文实例为大家分享了php微信公众号开发之图片回复的具体代码,供大家参考,具体内容如下

图片回复

随机函数:

rand(1,10)

php微信公众号开发之图片回复

核心代码:

$tyep= $postObj->MsgType;
$textTpl = "
 <xml>
  <ToUserName><![CDATA[%s]]></ToUserName>
  <FromUserName><![CDATA[%s]]></FromUserName>
  <CreateTime>%s</CreateTime>
  <MsgType><![CDATA[text]]></MsgType>
  <Content><![CDATA[%s]]></Content>
  <FuncFlag>0</FuncFlag>
 </xml>";   

 if ($tyep=="image")
 {
  $a=rand(1,3);
   switch ($a)
   {
    case "1";
     $b="健康好人缘,婚姻幸福美满";
     break;
   case "2";
     $b="贵人相助化险为夷的好运纹";
     break;
    default;
     $b="才华横溢好研究,知识丰富事业有成";        
   }

   $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
   echo $resultStr;
 }

index.php代码如下:

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$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;
    $keyword = trim($postObj->Content);
    $time = time();
    $tyep= $postObj->MsgType;
    $textTpl = "
       <xml>
       <ToUserName><![CDATA[%s]]></ToUserName>
       <FromUserName><![CDATA[%s]]></FromUserName>
       <CreateTime>%s</CreateTime>
       <MsgType><![CDATA[text]]></MsgType>
       <Content><![CDATA[%s]]></Content>
       <FuncFlag>0</FuncFlag>
       </xml>";   


    if ($tyep=="image")
    {$a=rand(1,3);
     switch ($a)
     {case "1";
     $b="健康好人缘,婚姻幸福美满";
     break;
     case "2";
     $b="贵人相助化险为夷的好运纹";
     break;
     default;
     $b="才华横溢好研究,知识丰富事业有成";        
     }

     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
     echo $resultStr;
    }

  }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 相关文章推荐
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php+mysql事务rollback&amp;commit示例
Feb 08 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
PHP 文件系统详解
Sep 13 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php实现paypal 授权登录
May 28 PHP
PHP生成plist数据的方法
Jun 16 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 PHP
PHP7 安装event扩展的实现方法
Oct 08 PHP
php5.x禁用eval的操作方法
Oct 19 #PHP
django中的ajax组件教程详解
Oct 18 #PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 #PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 #PHP
php 读取文件夹下所有图片、文件的实例
Oct 17 #PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 #PHP
实现PHP中session存储及删除变量
Oct 15 #PHP
You might like
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
简单的Python的curses库使用教程
2015/04/11 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
计算机相关的自我评价
2014/01/15 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
单位单身证明样本
2014/10/11 职场文书
高质量“欢迎词”
2019/04/03 职场文书
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS