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函数(简单整理)
Apr 30 PHP
解析在PHP中使用全局变量的几种方法
Jun 24 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
php的4种常见运行方式
Mar 20 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
试用php中oci8扩展
Jun 18 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
php smtp实现发送邮件功能
Jun 22 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
php操作redis数据库常见方法实例总结
Feb 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
javascript与有限状态机详解
2014/05/08 Javascript
浅析JavaScript动画
2015/06/10 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
React组件的三种写法总结
2017/01/12 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
python删除特定文件的方法
2015/07/30 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
Python模块 _winreg操作注册表
2020/02/05 Python
django在开发中取消外键约束的实现
2020/05/20 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
党员自我评价分享
2013/12/13 职场文书
初中教师业务学习材料
2014/05/12 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
租车协议书
2015/01/27 职场文书
感恩的心主题班会
2015/08/12 职场文书
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS