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者的疑难问答(2)
Oct 09 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
百度地图API使用方法详解
Aug 25 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
简单谈谈PHP中的trait
Feb 25 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 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
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
php通过各种函数判断0和空
2020/07/04 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
基于滚动条位置判断的简单实例
2017/12/14 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
django框架使用方法详解
2019/07/18 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
Python如何实现动态数组
2019/11/02 Python
Python实现壁纸下载与轮换
2020/10/19 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
专业实习自我鉴定
2013/10/29 职场文书
银行出纳岗位职责
2013/11/25 职场文书
酒吧创业计划书
2014/01/18 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
运动会广播稿200字
2014/10/18 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技