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 相关文章推荐
使用PHP制作新闻系统的思路
Oct 09 PHP
php中处理模拟rewrite 效果
Dec 09 PHP
PHP 身份证号验证函数
May 07 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
php网站地图生成类示例
Jan 13 PHP
php函数与传递参数实例分析
Nov 15 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
教你php如何实现验证码
Jan 20 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 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
php下使用无限生命期Session的方法
2007/03/16 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
JavaScript 拖拉缩放效果
2008/12/10 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
Android面试宝典
2013/08/06 面试题
简历中个人自我评价范文
2013/12/26 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
小学教师听课制度
2014/02/01 职场文书
酒店总经理助理职责
2014/02/12 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
销售个人求职信范文
2014/04/28 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
收入证明申请书
2015/06/12 职场文书