>  기사  >  백엔드 개발  >  微信自动回复代码

微信自动回复代码

WBOY
WBOY원래의
2016-07-30 13:29:431866검색
/*
		* 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教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.