本篇文章主要介绍php 获取ip地址的六种方法,感兴趣的朋友参考下,希望对大家有所帮助。
代码一:
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免费学习笔记(深入)”;
方法五:
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针对字符串的转换技巧
PHP实现针对指定后缀文件的批量上传功能
php数字金额转换成中文大写金额的函数

