php微信开发之音乐回复功能


Posted in PHP onJune 14, 2018

本文实例为大家分享了php微信音乐回复功能的具体代码,供大家参考,具体内容如下

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$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();
    $textTpl = "<xml>
       <ToUserName><![CDATA[%s]]></ToUserName>
       <FromUserName><![CDATA[%s]]></FromUserName>
       <CreateTime>%s</CreateTime>
       <MsgType><![CDATA[%s]]></MsgType>
       <Content><![CDATA[%s]]></Content>
       <FuncFlag>0</FuncFlag>
       </xml>";    
    if(!empty( $keyword ))
    {
     $msgType = "text";
     if($keyword=="1"){
     $contentStr = "qiphon";}
     if($keyword=="2"){
     $contentStr = "最新资讯:《环境违法行为举报奖励办法》";}
     if($keyword=="3"){
     $contentStr = "31离婚协议\n32租房合同\n33交通事故协议书";}     
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     echo $resultStr;
    }else{
     echo "Input something...";
    }

  }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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
使用PHP获取汉字的拼音(全部与首字母)
Jun 27 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
php7基于递归实现删除空文件夹的方法示例
Jun 15 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 PHP
php微信开发之关键词回复功能
Jun 13 #PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 #PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 #PHP
You might like
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
对Python 语音识别框架详解
2018/12/24 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
python join方法使用详解
2019/07/30 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
食品安全工作实施方案
2014/03/26 职场文书
Python爬虫基础初探selenium
2021/05/31 Python