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 相关文章推荐
3
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
xajax写的留言本
Nov 25 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
round robin权重轮循算法php实现代码
May 28 PHP
一个简单的php路由类
May 29 PHP
Laravel中间件实现原理详解
Oct 09 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 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自动跳转中英文页面
2008/07/29 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
会计专业自我鉴定范文
2013/12/29 职场文书
户外亲子活动策划方案
2014/02/07 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
会议开幕词
2015/01/28 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
Java实现简易的分词器功能
2021/06/15 Java/Android
新手入门Mysql--概念
2021/06/18 MySQL
Python时间操作之pytz模块使用详解
2022/06/14 Python
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers