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中str_replace函数使用小结
Oct 11 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
php上传文件的增强函数
Jul 21 PHP
PHP Session机制简介及用法
Aug 19 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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实现ODBC数据分页显示一例
2006/10/09 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
javascript实现颜色渐变的方法
2013/10/30 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
React组件生命周期详解
2017/07/03 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python3解释器知识点总结
2019/02/19 Python
基于django传递数据到后端的例子
2019/08/16 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
后勤采购员岗位职责
2013/12/19 职场文书
家佳咖啡店创业计划书
2013/12/27 职场文书
超市国庆节促销方案
2014/02/20 职场文书
超市促销活动方案
2014/03/05 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
父亲节寄语大全
2015/02/27 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
肖申克救赎观后感
2015/06/02 职场文书
化验室安全管理制度
2015/08/06 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript
Django中celery的使用项目实例
2022/07/07 Python