PHP 快速获取客户端IP地址及ip归属地
一、获取客户端ip地址
function getClientIp(){ 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); }
二、获取ip归属地
function getIpCity(string $ip = '') { // 可以自己找第三方接口,返回数据不一样 $url = "http://whois.pconline.com.cn/ip.jsp?ip=".$ip; $res = file_get_contents($url); // 因为这个接口返回的值gb2312编码,且有换行符,所以做以下处理 return preg_replace("/\s/","", iconv("gb2312", "utf-8", $res)); }
————————————————
版权声明:本文为CSDN博主「明日晴空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Chen_start02/article/details/103661786