php 取得真实ip兼容性写法.
php 取得真实ip兼容性写法. [代码片段(34行)]
function fun_get_ip(){
static $ip = null;
if($ip)
return $ip; // 不需要计算第二次.
$ip=false;
if($_SERVER['HTTP_VIA']){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip){
array_unshift($ips, $ip); $ip = false;
}
$ipss = count($ips);
for ($i = 0; $i < $ipss; $i++){
if (!preg_match('/^(10|172\\.16|192\\.168)\\./', $ips[$i])){
$ip = $ips[$i];
break;
}
}
}
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
# 更兼容的获取.
if(!$ip)
if(!$ip = getenv("REMOTE_ADDR"))
if (!$ip = getenv("HTTP_CLIENT_IP"))
if(!$ip = getenv("HTTP_X_FORWARDED_FOR"))
$ip = false;
return $ip;
}
//该片段来自于http://outofmemory.cn
- 上一篇:php实现贪心算法0-1背包问题
- 下一篇:php 实践出php内存极限占用是多少
精彩图集
精彩文章






