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缓存技术介绍
Nov 25 PHP
火车头discuz6.1 完美采集的php接口文件
Sep 13 PHP
php 分库分表hash算法
Nov 12 PHP
PHP 加密解密内部算法
Apr 22 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 PHP
PHP实现抽奖功能实例代码
Jun 30 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 写文本日志实现代码
2010/05/18 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
python for和else语句趣谈
2019/07/02 Python
详解python中各种文件打开模式
2020/01/19 Python
python统计字符的个数代码实例
2020/02/07 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
前厅收银主管岗位职责
2014/02/04 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
前台文员职责范本
2014/03/07 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
Python合并pdf文件的工具
2021/07/01 Python