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 相关文章推荐
mysql 搜索之简单应用
Apr 27 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
PHP学习笔记之一
Jan 17 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
PHP文件上传类实例详解
Apr 08 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 27 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下intval()和(int)转换使用与区别
2008/07/18 PHP
smarty的保留变量问题
2008/10/23 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
php动态生成函数示例
2014/03/21 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
繁简字转换功能
2006/07/19 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
Python模拟登录12306的方法
2014/12/30 Python
python继承和抽象类的实现方法
2015/01/14 Python
python中执行shell的两种方法总结
2017/01/10 Python
python学生管理系统代码实现
2020/04/05 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
基于Python绘制个人足迹地图
2020/06/01 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
物业总经理助理岗位职责
2014/06/29 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
PHP策略模式写法
2021/04/01 PHP
Python max函数中key的用法及原理解析
2021/06/26 Python