一直都是用的 getenv()函数,但是,有的时候服务器上是用的较老版本的IIS ,就会获取失败或者获取错误的信息,所以本函数能完整的兼容,已经用到了项目中代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function getIp(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR']; else $ip = "unknown"; return($ip); } |
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: PHP 获取客户端IP地址函数 http://www.chhua.com/web-note4504
评论