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作为Shell脚本语言使用
Oct 09 PHP
PHP4实际应用经验篇(9)
Oct 09 PHP
PHP 全角转半角实现代码
May 16 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
php伪静态之APACHE篇
Jun 02 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php数据结构之顺序链表与链式线性表示例
Jan 22 PHP
PHP递归的三种常用方式
Feb 28 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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技术开发技巧分享
2010/03/23 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
python中常用的九种预处理方法分享
2016/09/11 Python
python取代netcat过程分析
2018/02/10 Python
python绘制圆柱体的方法
2018/07/02 Python
python操作excel的方法
2018/08/16 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
如何用python批量调整视频声音
2020/12/22 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
若干个Java基础面试题
2015/05/19 面试题
财务情况说明书范文
2014/05/06 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
初二学生评语大全
2014/12/26 职场文书
小学语文教学反思范文
2016/03/03 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python