首页 >后端开发 >php教程 >微信自动回复代码

微信自动回复代码

WBOY
WBOY原创
2016-07-30 13:29:431955浏览
/*
		* 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