php微信开发之音乐回复功能


Posted in PHP onJune 14, 2018

本文实例为大家分享了php微信音乐回复功能的具体代码,供大家参考,具体内容如下

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$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[%s]]></MsgType>
       <Content><![CDATA[%s]]></Content>
       <FuncFlag>0</FuncFlag>
       </xml>";    
    if(!empty( $keyword ))
    {
     $msgType = "text";
     if($keyword=="1"){
     $contentStr = "qiphon";}
     if($keyword=="2"){
     $contentStr = "最新资讯:《环境违法行为举报奖励办法》";}
     if($keyword=="3"){
     $contentStr = "31离婚协议\n32租房合同\n33交通事故协议书";}     
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     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的FTP学习(二)
Oct 09 PHP
php adodb连接mssql解决乱码问题
Jun 12 PHP
PHP计数器的实现代码
Jun 08 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
微信公众平台DEMO(PHP)
May 04 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
php+js实现的无刷新下载文件功能示例
Aug 23 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php微信开发之关键词回复功能
Jun 13 #PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 #PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 #PHP
You might like
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
详解小程序云开发数据库
2019/05/20 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python实现在控制台输入密码不显示的方法
2015/07/02 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
学生安全责任书范本
2014/07/24 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
生日寿星公答谢词
2015/09/29 职场文书
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技