v">
当前位置:Gxlcms > PHP教程 > 微信关注回复代码

微信关注回复代码

时间:2021-07-01 10:21:17 帮助过:24人阅读

/*
	* 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;
				$type	  		= $postObj ->MsgType;
				$customevent	= $postObj ->Event;
				$keyword =trim($postObj->Content);
				$time =time();
				$textTpl ="
								
								
								%s
								
								
								0
							";	
				if($type == "event" and $customevent == "subscribe"){
						$contentStr = "感谢你的关注 \n 回复1 电话 邮箱	\n 回复2.qq信息	\n 回复3地址信息";
						$msgType = "text" ;
						$resultStr  = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
						echo $resultStr;
				}	

				if(!empty($keyword))
				{
					$msgType = "text" ;
					$contentStr = "1 电话 邮箱	2.qq信息	3地址信息";
					if($keyword == "1"){//关键词为1时回复
						$contentStr = "电话:15057190640 Email:2323178881@qq.com !!";
					}
					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;
			}
		}
	}

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了微信关注回复代码,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行