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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
如何跨站抓取别的站点的页面的补充
Oct 09 PHP
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
Yii配置文件用法详解
Dec 04 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
php构造函数实例讲解
2013/11/13 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
php短址转换实现方法
2015/02/25 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
Js四则运算函数代码
2012/07/21 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
车间机修工岗位职责
2014/02/28 职场文书
班组长岗位职责
2014/03/03 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
出差报告范文
2014/11/06 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
SQLServer中exists和except用法介绍
2021/12/04 SQL Server