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的ajax框架xajax入门与试用介绍
Dec 19 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
eclipse php wamp配置教程
Jun 30 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
thinkphp5实现微信扫码支付
Dec 23 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
星际争霸秘籍
2020/03/04 星际争霸
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
php动态绑定变量的用法
2015/06/16 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
php session的锁和并发
2016/01/22 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
jquery foreach使用示例
2013/09/12 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
Javascript中replace()小结
2015/09/30 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
Python常用算法学习基础教程
2017/04/13 Python
python决策树之C4.5算法详解
2017/12/20 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
小组名称和口号
2014/06/09 职场文书
百日安全生产活动总结
2014/07/05 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python