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实现分页的一个示例
Oct 09 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
php支付宝接口用法分析
Jan 04 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
Python标准库os.path包、glob包使用实例
2014/11/25 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
python中的逆序遍历实例
2019/12/25 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
信用卡收入证明范本
2015/06/12 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
Python并发编程实例教程之线程的玩法
2021/06/20 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server