微信学习之自动回复文本
<?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>