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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
require(),include(),require_once()和include_once()区别
Mar 27 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
PHP写日志的实现方法
Nov 05 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php生成圆角图片的方法
Apr 07 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
PHP验证码生成原理和实现
Jan 24 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
php中inlcude()性能对比详解
2012/09/16 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery的颜色选择插件实例代码
2008/10/02 Javascript
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
实例浅析js的this
2016/12/11 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
Django ModelForm操作及验证方式
2020/03/30 Python
英国现代市场:ARKET
2019/04/10 全球购物
开学寄语大全
2014/04/08 职场文书
代理人委托书
2014/08/01 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
会议通知
2015/04/15 职场文书
导游词之包公祠
2019/11/25 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers