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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
require(),include(),require_once()和include_once()区别
Mar 27 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php仿discuz分页效果代码
Oct 02 PHP
PHP 变量的定义方法
Jan 26 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
php处理复杂xml数据示例
Jul 11 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 PHP
php把文件设置为插件的技巧方法
Feb 03 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类(查找/修改)xml文档
2013/03/26 PHP
php生成rss类用法实例
2015/04/14 PHP
php图片裁剪函数
2018/10/31 PHP
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
python绘图库Matplotlib的安装
2014/07/03 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
tensorflow常用函数API介绍
2020/04/19 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
python os模块在系统管理中的应用
2020/06/22 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
品质主管的岗位职责
2013/12/04 职场文书
跳槽求职信范文
2014/05/26 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
新学期家长寄语2016
2015/12/03 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
JavaScript原型链详解
2021/11/07 Javascript
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript