微信學習之自動回復文本


<?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>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM