誰(shuí)能看下代碼 按視頻寫的沒有推送 token驗(yàn)證成功 代碼也沒錯(cuò)誤 另外php5.5.7 tp3.2.3是不是還需要配置別的東西?
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
{
? ?public function index()
? ?{
// ? ? ? ?$this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>歡迎使用 <b>ThinkPHP</b>!</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
// ? ? ? ?獲取timestamp nonce token signature
? ? ? ?$timestamp = $_GET['timestamp'];
? ? ? ?$nonce = $_GET['nonce'];
? ? ? ?$token = 'mxs';
? ? ? ?$signature = $_GET['signature'];
? ? ? ?$echostr = $_GET['echostr'];
? ? ? ?//形成數(shù)組 然后按字典序排列
? ? ? ?$array = array($timestamp, $nonce, $token);
? ? ? ?sort($array);
? ? ? ?//拼接成字符串,sha1加密,然后與signature校驗(yàn)
? ? ? ?$tmpstr = implode('', $array);
? ? ? ?$tmpstr = sha1($tmpstr);
? ? ? ?if ($tmpstr == $signature&&$echostr) {
? ? ? ? ? ?//第一次接入weixin api接口的時(shí)候
? ? ? ? ? ?echo $_GET['echostr'];
? ? ? ? ? ?exit;
? ? ? ?}
? ? ? ?else{
? ? ? ? ? ?$this->reponseMsg();
? ? ? ?}
? ?}
? ?//
? ?public function reponseMsg(){
? ? ? ?//1.獲取到微信推送過(guò)來(lái)post數(shù)據(jù)(xml格式)
? ? ? ?$postArr=$GLOBALS['HTTP_RAW_POST_DATA'];
? ? ? ?//處理消息類型,并設(shè)置回復(fù)類型和內(nèi)容
// ? ? ? ?<xml>
//<ToUserName><![CDATA[toUser]]></ToUserName>
//<FromUserName><![CDATA[FromUser]]></FromUserName>
//<CreateTime>123456789</CreateTime>
//<MsgType><![CDATA[event]]></MsgType>
//<Event><![CDATA[subscribe]]></Event>
//</xml>
? ? ? $postObj=simplexml_load_string($postArr);
// ? ? ? ?$postObj->ToUserName='';
// ? ? ? ?$postObj->FromUserName='';
// ? ? ? ?$postObj->CreateUserName='';
// ? ? ? ?$postObj->MsgType='';
// ? ? ? ?$postObj->Event='';
? ? ? ?//判斷該數(shù)據(jù)包是否是訂閱的事件推送
? ? ? ?if(strtolower($postObj->MsgType)=='event'){
? ? ? ? ? ?//如果是關(guān)注subscribe事件
? ? ? ? ? ?if(strtolower($postObj->Event=='subscribe')) {
? ? ? ? ? ? ? ?//回復(fù)用戶消息
? ? ? ? ? ? ? ?$toUser = $postObj->FromUserName;
? ? ? ? ? ? ? ?$fromUser=$postObj->ToUserName;
? ? ? ? ? ? ? ?$time=time();
? ? ? ? ? ? ? ?$Msgtype='text';
? ? ? ? ? ? ? ?$Context='歡迎關(guān)注我的微信公眾號(hào)';
? ? ? ? ? ? ? ?$template="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s/CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
? ? ? ? ? ? ? ?$info=sprintf($template,$toUser,$fromUser,$time,$Msgtype,$Context);
? ? ? ? ? ? ? ?echo $info;
// ? ? ? ? ? ? ? ?<xml>
//<ToUserName><![CDATA[toUser]]></ToUserName>
//<FromUserName><![CDATA[fromUser]]></FromUserName>
//<CreateTime>12345678</CreateTime>
//<MsgType><![CDATA[text]]></MsgType>
//<Content><![CDATA[你好]]></Content>
//</xml>
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ?}
? ?}
? ?}
2017-07-10
老司機(jī)告訴你,$GLOBALS['HTTP_RAW_POST_DATA'];這個(gè)東西啥都沒有獲取到,改成file_get_contents('php://input');