/* * wechat php test */ //define your token define("TOKEN", "weixin"); $wechatObj =new WechatCallbackapiTest(); $wechatObj ->valid(); $wechatObj ->responseMsg(); class WechatCallbackapiTest { public function valid() { $echoStr= $_GET['echostr']; //valid signature , option if($this->checkSignature()) { echo $echoStr; exit; } } public function responseMsg() { //get post data , May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if(!empty($postStr)) { $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA); $fromUsername = $postObj ->FromUserName; $tpUsername = $postObj ->ToUserName; $keyword =trim($postObj->Content); $time =time(); $textTpl ="<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if(!empty($keyword)) { $msgType = "text" ; $contentStr = "Hi 欢迎你的关注!"; $resultStr = sprintf($textTpl,$fromUsername,$ToUserName,$time,$msgType,$contentStr); echo $resultStr; }else{ echo "Input something..."; } } else { echo ""; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET['timestamp']; $nonce =$_GET['nonce']; $token =TOKEN; $tmpArr = array($token,$timestamp,$nonce); sort($tmpArr); $tmpStr = implode('',$tmpArr); $tmpStr = sha1($tmpStr); if( $tmpStr == $signature){ return true; }else{ return false; } } }
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了微信自動回覆程式碼,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。