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程序
Oct 09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
May 12 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
实例分析10个PHP常见安全问题
Jul 09 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
基于文本的搜索
2006/10/09 PHP
PHP 七大优势分析
2009/06/23 PHP
二招解决php乱码问题
2012/03/25 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
浅谈Vue.js
2017/03/02 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
详解Vuex管理登录状态
2017/11/13 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
华为慧通笔试题
2016/04/22 面试题
仓库理货员岗位职责
2013/12/18 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
青春演讲稿范文
2014/05/08 职场文书
总经理任命书范本
2014/06/05 职场文书
中标通知书范本
2015/04/17 职场文书
Vue监视数据的原理详解
2022/02/24 Vue.js
vue实现移动端div拖动效果
2022/03/03 Vue.js