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
也谈截取首页新闻 - 范例
Oct 09 PHP
生成sessionid和随机密码的例子
Oct 09 PHP
使用php重新实现PHP脚本引擎内置函数
Mar 06 PHP
php 变量定义方法
Jun 14 PHP
php程序的国际化实现方法(利用gettext)
Aug 14 PHP
使用php测试硬盘写入速度示例
Jan 27 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
Apr 08 PHP
四个PHP非常实用的功能
Sep 29 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
php使用crypt()函数进行加密
Jun 08 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
德劲1103二次变频版的打磨
2021/03/02 无线电
PHP类的使用 实例代码讲解
2009/12/28 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
小谈php正则提取图片地址
2014/03/27 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
Python脚本实现自动发带图的微博
2016/04/27 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Python常用外部指令执行代码实例
2020/11/05 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
母亲80寿诞答谢词
2014/01/16 职场文书
致100米运动员广播稿
2014/02/14 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
工作会议方案
2014/05/21 职场文书
霸气队列口号
2014/06/18 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
高二化学教学反思
2016/02/22 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
把77A收信机改造成收音机
2022/04/05 无线电