最新消息:欢迎光临!

使用新浪ip库接口获取用户归属地

php findever 2605浏览 0评论
<?php
header("Content-Type:text/html;charset=utf-8");
function sinaIPApi($ip){
	// 1."/^[".chr(0xa1)."-".chr(0xff)."]+$/ //GB2312汉字
	// 2."/^[/x{4e00}-/x{9fa5}]+$/u"   //UTF-8汉字
	 //调用新浪API接口
	 $str = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);
	 //转换字符集
	 $str = iconv("gbk", "utf-8//IGNORE", $str);
	 //  echo $str;
	 //匹配结果
	 preg_match_all('/[\x{4e00}-\x{9fa5}]+/u',$str,$get);
	 
	 //将数组转换成字符串
	 $add = implode('-',$get[0]);
	 //返回结果
	 return $add;
}

function get_real_ip(){
	$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 < count($ips); $i++){
			if (!eregi ("^(127|10|172\.16|192\.168)\.", $ips[$i])){
				$ip = $ips[$i];
				break;
			}
		}
	}
	return($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

echo sinaIPApi(get_real_ip());

?>

转载请注明:Findever » 使用新浪ip库接口获取用户归属地

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址