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 相关文章推荐
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
php自动跳转中英文页面
Jul 29 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
thinkphp 多表 事务详解
Jun 17 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
May 11 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
Python 模块EasyGui详细介绍
2017/02/19 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
django框架创建应用操作示例
2019/09/26 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
物业保安员岗位职责制度
2014/01/30 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
第二课堂活动总结
2014/05/07 职场文书
与美同行演讲稿
2014/09/13 职场文书
住房抵押登记委托书
2014/09/27 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android