PHP获取IP地址的几种方法!(来源网络)
方法一:
<?php
function GetIP()
{ if(!empty($_SERVER[“HTTP_CLIENT_IP”])){ $cip = $_SERVER[“HTTP_CLIENT_IP”]; }
else if(!empty($_SERVER[“HTTP_X_FORWARDED_FOR”]))
{ $cip = $_SERVER[“HTTP_X_FORWARDED_FOR”]; }
else if(!empty($_SERVER[“REMOTE_ADDR”]))
{ $cip = $_SERVER[“REMOTE_ADDR”]; }
else{ $cip = “无法获取!”; } return $cip; }
echo GetIP();
?>
方法二:
<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if($HTTP_SERVER_VARS[“HTTP_X_FORWARDED_FOR”]){ $ip = $HTTP_SERVER_VARS[“HTTP_X_FORWARDED_FOR”]; }
else if($HTTP_SERVER_VARS[“HTTP_CLIENT_IP”]){ $ip = $HTTP_SERVER_VARS[“HTTP_CLIENT_IP”]; }
else if ($HTTP_SERVER_VARS[“REMOTE_ADDR”]){ $ip = $HTTP_SERVER_VARS[“REMOTE_ADDR”]; }
else if (getenv(“HTTP_X_FORWARDED_FOR”)){ $ip = getenv(“HTTP_X_FORWARDED_FOR”); }
else if (getenv(“HTTP_CLIENT_IP”)){ $ip = getenv(“HTTP_CLIENT_IP”); } elseif (getenv(“REMOTE_ADDR”))
{ $ip = getenv(“REMOTE_ADDR”); }
else{ $ip = “Unknown”; }
echo $ip;
?>
方法三:
<?php $iipp = $_SERVER[“REMOTE_ADDR”]; echo $iipp ; ?>
方法四:
<?php $user_IP = ($_SERVER[“HTTP_VIA”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] : $_SERVER[“REMOTE_ADDR”]; $user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”]; echo $user_IP ?>
方法五:
<?php
function get_real_ip()
{
$ip=false;
if(!empty($_SERVER[“HTTP_CLIENT_IP”])){
$ip = $_SERVER[“HTTP_CLIENT_IP”];
}
if (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’])){
$ips = explode (“, “, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);
if($ip){
array_unshift($ips, $ip); $ip = FALSE;
}
for($i = 0; $i < count($ips); $i++){ if (!eregi (“^(10|172\.16|192\.168)\.”, $ips[$i])){ $ip = $ips[$i]; break; } } }
return($ip ? $ip : $_SERVER[‘REMOTE_ADDR’]); }
echo get_real_ip();
?>
方法六:
<?php
if(getenv(‘HTTP_CLIENT_IP’)){ $onlineip = getenv(‘HTTP_CLIENT_IP’); }
else if(getenv(‘HTTP_X_FORWARDED_FOR’)){ $onlineip = getenv(‘HTTP_X_FORWARDED_FOR’); }
else if(getenv(‘REMOTE_ADDR’)){ $onlineip = getenv(‘REMOTE_ADDR’); }
else{ $onlineip = $HTTP_SERVER_VARS[‘REMOTE_ADDR’]; }
echo $onlineip;
?>