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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php微信开发之上传临时素材
Jun 24 PHP
php版微信小店调用api示例代码
Nov 12 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
js实现日历的简单算法
2017/01/24 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
python正则表达式之对号入座篇
2018/07/24 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python实现石头剪刀布程序
2021/01/20 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
Python的Lambda函数用法详解
2019/09/03 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python标准库os库的函数介绍
2020/02/12 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
MYSQL基础面试题
2012/05/13 面试题
初任培训自我鉴定
2013/10/07 职场文书
卫校中专生的自我评价
2014/01/15 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android