PHP 获取ip地址代码汇总
代码一:
functiongetip(){ static$ip=''; $ip=$_SERVER['REMOTE_ADDR']; if(isset($_SERVER['HTTP_CDN_SRC_IP'])){ $ip=$_SERVER['HTTP_CDN_SRC_IP']; }elseif(isset($_SERVER['HTTP_CLIENT_IP'])&&preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP']; }elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])ANDpreg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s',$_SERVER['HTTP_X_FORWARDED_FOR'],$matches)){ foreach($matches[0]AS$xip){ if(!preg_match('#^(10|172\.16|192\.168)\.#',$xip)){ $ip=$xip; break; } } } return$ip; }
代码二:
<?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"]; } elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){ $ip=$HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; } elseif($HTTP_SERVER_VARS["REMOTE_ADDR"]){ $ip=$HTTP_SERVER_VARS["REMOTE_ADDR"]; } elseif(getenv("HTTP_X_FORWARDED_FOR")){ $ip=getenv("HTTP_X_FORWARDED_FOR"); } elseif(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 functionget_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']); } echoget_real_ip(); ?>
方法六:
<?php if(getenv('HTTP_CLIENT_IP')){ $onlineip=getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')){ $onlineip=getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')){ $onlineip=getenv('REMOTE_ADDR'); } else{ $onlineip=$HTTP_SERVER_VARS['REMOTE_ADDR']; } echo$onlineip; ?>