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类
Apr 09 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
php实现RSA加密类实例
Mar 26 PHP
Smarty环境配置与使用入门教程
May 11 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 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与ASP
2006/10/09 PHP
PHP脚本的10个技巧(3)
2006/10/09 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
php扩展开发入门demo示例
2019/09/23 PHP
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Python reques接口测试框架实现代码
2020/07/28 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
中医专业职业生涯规划书范文
2014/01/04 职场文书
党员四风剖析材料
2014/08/27 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
结婚仪式主持词
2015/06/29 职场文书
JavaScript流程控制(分支)
2021/12/06 Javascript