亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神指教,不用tp5可以實現自動回復嗎?


下面是代碼,是哪里錯了嗎?
<?php
header('Content-type:text');
//驗證服務器地址的有效性
function check(){
??? //1.將timestamp,nonce,token按字典序排序
?? ??? ?$timestamp = $_GET['timestamp'];
?? ??? ?$nonce = $_GET['nonce'];
?? ??? ?$token = "weixin";
?? ??? ?$signature = $_GET['signature'];
?? ??? ?$echostr = $_GET['echostr'];
//$_GET 變量用于收集來自 method="get" 的表單中的值。從帶有 GET 方法的表單發送的信息,對任何人都是可見的(會顯示在瀏覽器的地址欄),并且對發送的信息量也有限制(最多 100 個字符)
?? ??? ?$array = array( $timestamp,$nonce,$token );
//創建名為 $array 的索引數組,向它賦三個元素
?? ??? ?sort($array);
?? ??? ?//2.將排序后的三個參數進行拼接之后再用sha1加密
?? ??? ?$tmpstr = implode('',$array);
//把數組元素按指定規則組合為字符串
?? ??? ?$tmpstr = sha1( $tmpstr );
?? ??? ?//3.將加密后的字符串與signature進行對比,判斷該請求是否來自微信
?? ??? ?if( $tmpstr == $signature && $echostr){
??????????? //第一次接入微信api
??????????? echo $echostr;
??????????? exit;
??????? } else{
?????? ??? ?//之后接入api即用戶關注公眾號和發送消息
??????????? responseMsg();
??????? }
}
?? ?check();
//接收事件推送并回復
function responseMsg(){
?? ?
??? //1.獲取微信推送過來的數據,即post數據(為xml格式)
??? $postArr = file_get_contents('php://input');
??? //2.處理推送數據,并設置回復類型和內容
??? /*推送XML數據包示例:

??????? <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);//將xml數據轉為對象
??? //判斷該數據包是否是訂閱的事件推送
??? if( strtolower( $postObj -> MsgType) == 'event'){
?????? ?
?????? ??? ?//如果是關注事件即subscribe則回復消息
?????? ??? ? if(strtolower( $postObj -> Event) == 'subscribe'){
??????????? ??? ? $toUser = $postObj -> FromUserName;
???????????????? $fromUser = $postObj -> ToUserName;
???????????????? $createTime = time();
???????????????? $msgType = 'text';
???????????????? $content = '您已成功關注該平臺';
???????????????? $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,$createTime,$msgType,$content);//將xml數據包進行對應的變量賦值
??????????? ??? ? echo $info;
???????????? }
?? ??? ?}
}
?>

正在回答

3 回答

http://img1.sycdn.imooc.com//58eb20bb00016e8d13210595.jpg
你的中括號,檢查下

0 回復 有任何疑惑可以回復我~
#1

qq_T_T若是人間四月天_0 提問者

非常感謝!謝謝
2017-04-10 回復 有任何疑惑可以回復我~

我使用yii2是沒有任何問題的,和框架是沒有關系的

0 回復 有任何疑惑可以回復我~

我用tp5一直沒有收到自動回復,不知道是什么回事

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求大神指教,不用tp5可以實現自動回復嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號