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
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
浅谈php自定义错误日志
Feb 13 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
php超快高效率统计大文件行数
Jul 05 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
jQuery中:image选择器用法实例
2015/01/03 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
微信小程序 动画的简单实例
2017/10/12 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
js实现简单点赞操作
2020/03/17 Javascript
python实现的一个火车票转让信息采集器
2014/07/09 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
简单了解Python中的几种函数
2017/11/03 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
教师实习自我鉴定
2013/12/11 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
入学申请自荐信范文
2014/02/26 职场文书
《陋室铭》教学反思
2014/02/26 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
吨的认识教学反思
2014/04/27 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
高中政治教师教学反思
2016/02/23 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
MySQL派生表联表查询实战过程
2022/03/20 MySQL