一、获取客户端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));
}
还没有评论,来说两句吧...