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内存极限占用是多少
精彩图集
精彩文章