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.MVC的模板标签系统(三)
Sep 05 PHP
php目录管理函数小结
Sep 10 PHP
php简单的会话类代码
Aug 08 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
YII框架行为behaviors用法示例
Apr 26 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
JQuery toggle使用分析
2009/11/16 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
Python编程实现的图片识别功能示例
2017/08/03 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python制作抖音代码舞
2019/04/07 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
美发店5.1活动方案
2014/01/24 职场文书
食品业务员岗位职责
2014/03/18 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
党员民主生活会材料
2014/12/15 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
少先队大队委竞选口号
2015/12/25 职场文书