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 相关文章推荐
php 常用字符串函数总结
Mar 15 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
用PHP代码给图片加水印
Jul 01 PHP
php实现文件与16进制相互转换的方法示例
Feb 16 PHP
php之可变变量的实例详解
Sep 12 PHP
php通过header发送自定义数据方法
Jan 18 PHP
PHP CURL使用详解
Mar 21 PHP
Laravel中Kafka的使用详解
Mar 24 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
python之wxPython菜单使用详解
2014/09/28 Python
python开发之文件操作用法实例
2015/11/13 Python
python 排序算法总结及实例详解
2016/09/28 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python检索特定内容的文本文件实例
2018/06/05 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
面试通知邮件
2015/04/20 职场文书
公司财务管理制度
2015/08/04 职场文书
高中运动会广播稿
2015/08/19 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis