php教程

超轻量级php框架startmvc

PHP 获取ip地址代码汇总

更新时间:2020-03-04 22:14:41 作者:startmvc
代码一:functiongetip(){static$ip='';$ip=$_SERVER['REMOTE_ADDR'];if(isset($_SERVER['HTTP_CDN_SRC_IP'])){$ip=$_SERVER

代码一:


function getip() {
 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']) AND preg_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
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');
}
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;
?>

PHP 获取ip地址