微信关键词自动回复代码

	/*
	* 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;
				$toUsername	  = $postObj ->ToUserName;
				$keyword =trim($postObj->Content);
				$time =time();
				$textTpl ="
								
								
								%s
								
								
								0
							";			
				if(!empty($keyword))
				{
					$msgType = "text" ;
					$contentStr = "1 电话 邮箱	2.qq信息	3地址信息";
					if($keyword == "1"){//关键词为1时回复
						$contentStr = "电话:15057190640 Email:[email protected] !!";
					}
					if ($keyword == "2") {//关键词为2时回复
						$contentStr = "我的qq是2323178881 !";
					}

					if ($keyword == "3") {//关键词为3时回复
						$contentStr = "浙江省杭州市江干区闸弄口街道!";
					}

					$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;
			}
		}
	}

来自于datou:https://github.com/datou-leo/ci

https://www.zaozl.com   找资料

 

你可能感兴趣的:(微信)