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 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
php自动适应范围的分页代码
Aug 05 PHP
php 归并排序 数组交集
May 10 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
PHP判断是否有Get参数的方法
May 05 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
php内嵌函数用法实例
Mar 20 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP编写RESTful接口
2016/02/23 PHP
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
javascript History对象原理解析
2020/02/17 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
python3学生名片管理v2.0版
2018/11/29 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python实现人工蜂群算法
2020/09/18 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
PHP经典面试题
2016/09/03 面试题
如何高效率的查找一个月以内的数据
2012/04/15 面试题
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
物业经理自我鉴定
2014/03/03 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
春季运动会开幕词
2015/01/28 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS