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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
PHP版微信公众平台红包API
Apr 02 PHP
PHP错误处理函数
Apr 03 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 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
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
JavaScript实现换肤功能
2017/09/15 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
python 5个实用的技巧
2020/09/27 Python
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
服装店营销方案
2014/03/10 职场文书
保密工作目标责任书
2014/07/28 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
导游词之河北野三坡
2019/12/11 职场文书