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+MYSQL的文章管理系统(一)
Oct 09 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
Vue性能优化的方法
2020/07/30 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python3计算三角形的面积代码
2017/12/18 Python
python 美化输出信息的实例
2018/10/15 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Python:slice与indices的用法
2019/11/25 Python
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
电影建国大业观后感
2015/06/01 职场文书
四则混合运算教学反思
2016/02/23 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis