php微信公众号开发之音乐信息


Posted in PHP onOctober 20, 2018

本文实例为大家分享了php微信公众号音乐信息的具体代码,供大家参考,具体内容如下

  • 高品质—-HQMusicUrl
  • 低品质—-MusicUrl  

php微信公众号开发之音乐信息

php微信公众号开发之音乐信息

核心代码如下:

$textTpl = "<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[music]]></MsgType>
        <Music>
          <Title><![CDATA[欢乐颂]]></Title>
          <Description><![CDATA[贝多芬]]></Description>
          <MusicUrl><![CDATA[http://1.dq095.applinzi.com/欢乐颂.mp3]]></MusicUrl>
          <HQMusicUrl><![CDATA[http://1.dq095.applinzi.com/欢乐颂.mp3]]></HQMusicUrl>
        </Music>
        <FuncFlag>0</FuncFlag>
      </xml>";       



if(!empty( $keyword ))
 {           
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);
  echo $resultStr;
 }else{
  echo "Input something...";
 }

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();
        $textTpl = "<xml>
              <ToUserName><![CDATA[%s]]></ToUserName>
              <FromUserName><![CDATA[%s]]></FromUserName>
              <CreateTime>%s</CreateTime>
              <MsgType><![CDATA[music]]></MsgType>
               <Music>
               <Title><![CDATA[欢乐颂]]></Title>
               <Description><![CDATA[贝多芬]]></Description>
               <MusicUrl><![CDATA[http://1.dq095.applinzi.com/欢乐颂.mp3]]></MusicUrl>
               <HQMusicUrl><![CDATA[http://1.dq095.applinzi.com/欢乐颂.mp3]]></HQMusicUrl>
               </Music>
              <FuncFlag>0</FuncFlag>
              </xml>";       



        if(!empty( $keyword ))
        {

          $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);
          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 相关文章推荐
header()函数使用说明
Nov 23 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
php中文验证码实现示例分享
Jan 12 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
php5与php7的区别点总结
Oct 11 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
laravel model 两表联查示例
Oct 24 PHP
php微信公众号开发之欢迎老朋友
Oct 20 #PHP
php微信公众号开发之秒杀
Oct 20 #PHP
php微信公众号开发之关键词回复
Oct 20 #PHP
php微信公众号开发之图片回复
Oct 20 #PHP
php5.x禁用eval的操作方法
Oct 19 #PHP
django中的ajax组件教程详解
Oct 18 #PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 #PHP
You might like
农民C键的运用技巧
2020/03/04 星际争霸
用Flash图形化数据(一)
2006/10/09 PHP
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
js window.event对象详尽解析
2009/02/17 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
班干部演讲稿
2014/04/24 职场文书
难忘的一课教学反思
2014/04/30 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
公司新员工欢迎词
2015/09/30 职场文书
《坐井观天》教学反思
2016/02/18 职场文书