關(guān)注事件文本回復問題;返回的xml數(shù)據(jù)正常,就是手機上無法看到回復,智商著急,要急死
public?function?index(){ ????$data=input('get.'); ????if(!$data) ????{ ????????throw?new?Exception("data無數(shù)據(jù)"); ????} ???//?$data=['d','e','rr','4444'];//test ???//?$s=implode(',',$data); ????$s='接收到的信息為:'; ????foreach?($data??as?$key=>$v){ ????????$s.=$key.':'.$v.';'; ????} ????//查看微信傳輸?shù)臄?shù)據(jù) ????$myfile?=?fopen("newfile.txt",?"w")?or?die("Unable?to?open?file!"); ????fwrite($myfile,?$s.'\n'); ????fclose($myfile); ????//加密驗證:微信用的sha1加密,加密后返回get中的signature參數(shù) ????$timestamp=$data['timestamp']; ????$nonce=$data['nonce']; ????$token='poower';//?與微信服務(wù)器配置中放token保持一致 ????$signature=$data['signature']; ????$array=array($timestamp,$nonce,$token); ????sort($array);//字典排序 ????$str=implode('',$array); ????$strs=sha1($str); ????if($strs==$signature?&&?$data['echostr'])?{ ????????echo?$data['echostr']; ????????//}elseif(simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'])->MsgType=='event'){//事件判斷 ????}else{ ??????????$this->responseMsg(); ????} } public?function?responseMsg(){ ????//1、獲取xml數(shù)據(jù) ????$postArr=$GLOBALS['HTTP_RAW_POST_DATA']; ????//2、處理消息類型,并設(shè)置回復類型和內(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); ????$s1='vvvv'.$postObj->FromUserName; ????$myfile?=?fopen("newfile.txt",?"w")?or?die("Unable?to?open?file!"); ????fwrite($myfile,?$s1.'\n'); ????fclose($myfile); ????//$postObj->ToUserName; ????//判斷該數(shù)據(jù)包是否是訂閱事件的推送 ????if(strtolower($postObj->MsgType)?==?'event'){ ????????//如果是關(guān)注subscribe事件 ????????if(strtolower($postObj->Event)=='subscribe'){ ????????????//回復用戶消息 ????????????$toUser=$postObj->FromUserName; ????????????$fromUser=$postObj->ToUserName; ????????????$time=time(); ????????????$msgType='text'; ????????????$content='歡迎關(guān)注我們的微信公眾賬號'.$fromUser; ????????????$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,?$content); ????????????$myfile2?=?fopen("newfile2.txt",?"w")?or?die("Unable?to?open?file!"); ????????????fwrite($myfile2,?$info); ????????????fclose($myfile2); ?????????????echo?$info; ????????} ????} }
兩個文件相當于斷點,數(shù)據(jù)均正常,就是最后一步出問題了:newfile2數(shù)據(jù):<xml> <ToUserName>< ![CDATA[oDSqD08TZ9VBB5Dk9tPG7pC93IrI] ]></ToUserName> <FromUserName>< ![CDATA[gh_72d52b9a22ac] ]></FromUserName> <CreateTime>1513960368</CreateTime> <MsgType>< ![CDATA[text] ]></MsgType> <Content>< ![CDATA[嬈㈣繋鍏蟲敞鎴戜滑鐨勫井淇″叕浼楄處鍙穏h_72d52b9a22ac] ]></Content> </xml>