<?php
$nonce=$_GET['nonce'];
$token='imooc';
$timestamp=$_GET['timestamp'];
$echostr=$_GET['echostr'];
$signature=$_GET['signature'];
//形成數(shù)組,然后按字典序排序
$array=array();
$array=array($nonce,$timestamp,$token);
sort($array);
//拼接成字符串,sha1加密,然后與signature進行檢驗
$str=sha1(implode($array));
if($str==$signature&&$echostr)
{
header('content-type:text');
//第一次接入微信API接口時候驗證合法性
echo $echostr;
exit;
}
else
{
responseMsg();
}
function responseMsg()
{
//1.獲取到微信推送過來post數(shù)據(jù)(xml格式)
$postArr=$GLOBALS['HTTP_RAW_POST_DATA'];
//2.處理消息類型,并設(shè)置回復(fù)類型和內(nèi)容
$postObj=simplexml_load_string($postArr);
//判斷該數(shù)據(jù)包是否是訂閱de事件推送
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)注我的微信公眾號!';
$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);
echo $info;
}
}
}
已經(jīng)是接入成功了 難道哪里有寫錯了?為什么不會自動回復(fù)?
添加回答
舉報
0/150
提交
取消