ホームページ  >  記事  >  バックエンド開発  >  WeChatの自動返信コード

WeChatの自動返信コード

WBOY
WBOYオリジナル
2016-07-30 13:29:431867ブラウズ
/*
		* 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;
				}
			}
		}

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、WeChat の自動返信コードを関連コンテンツも含めて紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。