我希望通过
获取我的当前(区域,区号或邮政编码,州,国家)位置
IP地址。
我在代码下方获取IP地址。
$myip = $_SERVER['REMOTE_ADDR'];
output :- 122.161.20.5
我的代码: -
<?php
$ip_addr = '122.161.20.5';
$geoplugin = unserialize( file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip_addr) );
if ( is_numeric($geoplugin['geoplugin_latitude']) && is_numeric($geoplugin['geoplugin_longitude']) ) {
$lat = $geoplugin['geoplugin_latitude'];
$long = $geoplugin['geoplugin_longitude'];
}
echo '<pre>';
print_r($geoplugin);
echo '<pre>';
?>
IP地址上方提供位置新德里,但这不是我当前的位置。
请帮帮我。
答案 0 :(得分:2)
GeoLocation并非真正万无一失。大多数情况下,您最终会获得ISP的Lat / Long。
答案 1 :(得分:1)
这不是你的错。看起来数据库中的IP信息不正确:http://whatismyipaddress.com/ip/122.161.20.5
此类数据库(如GeoIP)通常有错误的信息。
答案 2 :(得分:0)
Maxmind Geo API提供免费试用版以查找IP,您可以尝试它易于实现,并且还有轻量版本。
http://www.maxmind.com/en/geolocation_landing
请查看此链接。
http://dev.maxmind.com/geoip/你可以在这里看到如何实现这一点。
它易于实施,如果不能满足您的需求,您可以购买总数据库。