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 23 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
PHP 文件上传源码分析(RFC1867)
Oct 30 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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 动态执行带有参数的类方法
2009/04/10 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Python项目打包成二进制的方法
2020/12/30 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
大专生工程监理求职信
2013/10/04 职场文书
品质口号大全
2014/06/17 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
逃课检讨书怎么写
2015/01/01 职场文书