微信学习之自动回复文本
<?php
define("TOKEN","echo_server");
function checkSignature(){
//获取GET参数
$signature=$_GET['signature'];
$nonce=$_GET['nonce'];
$timestamp=$_GET['timestamp'];
$echostr=$_GET['echostr'];
//把nonce,timestamp,token组装到数组里并做排序
$tmpArr=array($nonce,$timestamp,TOKEN);
sort($tmpArr);
//把数组中的元素合并成字符串
$tmpStr=implode($tmpArr);
//sha1加密
$tmpStr=sha1($tmpStr);
//判断加密后的字符串是否和signatures相等
if($tmpStr==$signature){
return true;
}
return false;
}
if(false==checkSignature()){
exit(0);
}
//获取echostr
$echostr=$_GET['echostr'];
if($echostr){
echo $echostr;
exit(0);
}
//获取post数据
$PostData=$HTTP_RAW_POST_DATA;
//判断post数据是否为空
if(!$PostData){
echo "wrong input";
exit(0);
}
//解析xml字符串
$xmlObj=simplexml_load_string($PostData,"SimpleXMLElement",LIBXML_NOCDATA);
if(!$xmlObj){
echo "wrong input";
exit(0);
}
//获取FromUserName
$fromUserName=$xmlObj->FromUserName;
//获取ToUserName
$toUserName=$xmlObj->ToUserName;
//获取MsgType
$msgType=$xmlObj->MsgType;
if('text'!=$msgType){
$retMsg="只支持文本信息";
}else{
$content=$xmlObj->Content;
$retMsg=$content;
}
//输出消息的xml模板
$retTmp="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
//对消息模板中的通配符进行替换
$resultStr=sprintf($retTmp,$fromUserName,$toUserName,time(),$retMsg);
echo $resultStr;
?>
加了那个微信,发过去“你很帅”,结果真的自动回复“你很帅”了。好开心哦!
<a href="http://s.click.taobao.com/t?e=m%3D2%26s%3D8ZP%2B9BFH8dccQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAqdTPP%2BnwUxNRr%2B4el50HJcWjwYIGsh1SNLb45UgjmLHwHV06zwZE474PBd4WwVOW%2Bdn1BbglxZYxUhy8exlzcq9AmARIwX9K%2BnbtOD3UdznPV1H2z0iQv9eY%2By0blbhscYl7w3%2FA2kb" target="_blank"><img src="http://gtms01.alicdn.com/tps/i1/T1LuRAFspSXXX1pzZP-760-90.jpg" /></a>

浙公网安备 33010602011771号