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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php输出xml属性的方法
Mar 19 PHP
php强制用户转向www域名的方法
Jun 19 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
php文件上传原理与实现方法详解
Dec 20 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
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php去除数组中重复数据
2014/11/18 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
python监控键盘输入实例代码
2018/02/09 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
Python读写文件基础知识点
2019/06/10 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
一套C++笔试题面试题
2012/06/06 面试题
岗位职责怎么写
2014/03/14 职场文书
2014年信用社工作总结
2014/11/25 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
顶岗实习计划书
2015/01/16 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
党员转正意见怎么写
2015/06/03 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
使用python求解迷宫问题的三种实现方法
2022/03/17 Python
Linux中各个目录的作用与内容
2022/06/28 Servers