PHP 获取客户端真实IP地址多种方法小结,需要的朋友可以参考下。
经过复杂的判断与算是的获取IP地址函数代码如下:function getIP() {if (getenv('HTTP_CLIENT_IP')) {$ip = getenv('HTTP_CLIENT_IP');}elseif (getenv('HTTP_X_FORWARDED_FOR')) {$ip = getenv('HTTP_X_FORWARDED_FOR');}elseif (getenv('HTTP_X_FORWARDED')) {$ip = getenv('HTTP_X_FORWARDED');}elseif (getenv('HTTP_FORWARDED_FOR')) {$ip = getenv('HTTP_FORWARDED_FOR');}elseif (getenv('HTTP_FORWARDED')) {$ip = getenv('HTTP_FORWARDED');}else {$ip = $_SERVER['REMOTE_ADDR'];}return $ip;}最简单获取ip地址代码一句实例代码如下:$reIP=$_SERVER["REMOTE_ADDR"];echo $reIP;php获取ip的算法代码如下: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;可以分出内网与外网站ip地址获取程序代码如下:function getip_out(){$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 if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {$ip = $ips[$i];break;}}}return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);}echo getip_out();php获取ip的算法,用了?号表达式来处理代码如下:$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
