核心代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[music]]></MsgType> <Music> <Title><![CDATA[欢乐颂]]></Title> <Description><![CDATA[贝多芬]]></Description> <MusicUrl><![CDATA[http: //1.dq095.applinzi.com/欢乐颂.mp3]]></MusicUrl> <HQMusicUrl><![CDATA[http: //1.dq095.applinzi.com/欢乐颂.mp3]]></HQMusicUrl> </Music> <FuncFlag>0</FuncFlag> </xml>"; if (! empty ( $keyword )) { $resultStr = sprintf( $textTpl , $fromUsername , $toUsername , $time ); echo $resultStr ; } else { echo "Input something..." ; } |
index.php代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <?php /** * wechat php test */ //define your token define( "TOKEN" , "weixin" ); $wechatObj = new wechatCallbackapiTest(); $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[music]]></MsgType> <Music> <Title><![CDATA[欢乐颂]]></Title> <Description><![CDATA[贝多芬]]></Description> <MusicUrl><![CDATA[http: //1.dq095.applinzi.com/欢乐颂.mp3]]></MusicUrl> <HQMusicUrl><![CDATA[http: //1.dq095.applinzi.com/欢乐颂.mp3]]></HQMusicUrl> </Music> <FuncFlag>0</FuncFlag> </xml>"; if (! empty ( $keyword )) { $resultStr = sprintf( $textTpl , $fromUsername , $toUsername , $time ); 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] LAMP兄弟连李文凯讲ThinkPHP 视频教程 教学视频 百度网盘下载 | ||
---|---|---|
[PHP] 向军老师PHP视频教程 教学视频 百度网盘下载 | ||
[PHP] PHP经典项目开发实例讲解合集 视频教程 教学视频 百度网盘下载 | ||
[PHP] PHP高性能架构班视频教程 教学视频 百度网盘下载 | ||
[PHP] 传智播客PHP培训 第二版PHP视频教程 大型门户网站核心技术 memcached | ||
[PHP] 深入编程系列PHP 5.0网络编程技术视频教程 教学视频 百度网盘下载 | ||
[PHP] 后盾网千元级别远程培训班第二期之PHP课堂视频教程 教学视频 百度网盘下载 | ||
[PHP] PHP技术实践增强视频教程(共46课) 教学视频 百度网盘下载 | ||
[PHP] 传智播客 第二版PHP视频教程 大型网站核心技术(页面静态化)韩顺平主讲 视频教程 | ||
[PHP] 布尔商城PHP实战视频程 (70集全)视频教程 教学视频 百度网盘下载 | ||
[PHP] ThinkPHP搭建CMS项目设计 视频教程 教学视频 百度网盘下载 | ||
[PHP] 后盾网PHP实战视频VIP全套122课(附源文件) 视频教程 教学视频 百度网盘下载 | ||
[PHP] PHPer求职系列(高级16讲) 视频教程 教学视频 百度网盘下载 | ||
[PHP] PHPChina学院PHP零基础课程 视频教程 教学视频 百度网盘下载 | ||
[PHP] 李炎恢thinkphp3.2版本框架视频教程 教学视频 百度网盘下载 | ||
PHP+Ajax+jQuery网站开发项目实战视频 | ||
Laravel + AngularJS 实战开发知乎 | ||
Laravel5.2官方文档详细讲解 | ||
Laravel实战开发短链生成器 | ||
Yii2框架基础学习视频教程 |