/* * 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></tousername> <fromusername></fromusername> <createtime>%s</createtime> <msgtype></msgtype> <content></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教程有兴趣的朋友有所帮助。