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 相关文章推荐
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
php 中的closure用法详解
Jun 12 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
PHP Include文件实例讲解
Feb 15 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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显示MySQL数据的三种方法
2008/06/05 PHP
php str_pad 函数用法简介
2009/07/11 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
js返回顶部实例分享
2016/12/21 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
浅析python中while循环和for循环
2019/11/19 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python 弧度与角度互转实例
2020/04/15 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
.net笔试题
2014/03/03 面试题
网络技术专业求职信
2014/02/18 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
前端JavaScript大管家 package.json
2021/11/02 Javascript
简单聊聊Golang中defer预计算参数
2022/03/25 Golang