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中操作MySQL数据库的一些要注意的问题
Oct 09 PHP
php单件模式结合命令链模式使用说明
Sep 07 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
Session保存到数据库的php类分享
Oct 24 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
PHP 登录记住密码实现思路
May 07 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 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 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
php取出数组单个值的方法
2018/03/12 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
javascript call和apply方法
2008/11/24 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
python的几种开发工具介绍
2007/03/07 Python
Python修改MP3文件的方法
2015/06/15 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
Python3内置模块random随机方法小结
2019/07/13 Python
浅谈Python 递归算法指归
2019/08/22 Python
Python识别html主要文本框过程解析
2020/02/18 Python
使用Django清空数据库并重新生成
2020/04/03 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
初婚未育证明
2014/01/15 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
2014教师研修学习体会
2014/07/08 职场文书
工资证明格式模板
2015/06/12 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers