获取客户端IP的函数,解决了在有重定向时获取到唯一真实的ip地址

/**
	* 获取用户ip地址
	*
	* @return:
	* 成功:返回IP地址
	* 失败:返回unknown
	*
	*/
	function getIp() {
		$ips = array();
		if ($_SERVER['HTTP_CLIENT_IP']) {
			$ips[] = $_SERVER['HTTP_CLIENT_IP'];
		}
		if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
			$tmp = explode(', ', $_SERVER['HTTP_X_FORWARDED_FOR']);
			$ips = array_merge($ips, $tmp);
		}
		if ($_SERVER['REMOTE_ADDR']) {
			$ips[] = $_SERVER['REMOTE_ADDR'];
		}
		$ip = '';
		foreach ($ips as $k => $v) {
			if(!preg_match('/^(10|172\.16|192\.168)\./', $v) && strtolower($v) != 'unknown') {
				$ip = $v;
				break;
			}
		}
		return $ip;
	}

风雨兼程路,雨雪初霁时