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来自动调用不同服务器上的flash
Oct 09 PHP
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 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中的日期处理方法集锦
2007/01/02 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
Python中pygame安装方法图文详解
2015/11/11 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
一个入门级python爬虫教程详解
2021/01/27 Python
双拥工作宣传标语
2014/06/26 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
SQL注入详解及防范方法
2021/12/06 MySQL
CentOS MySql8 远程连接实战
2022/04/19 MySQL