如何获得我的当前位置与地区,地区,城市,国家

时间:2013-05-31 11:16:17

标签: php

我希望通过
获取我的当前(区域,区号或邮政编码,州,国家)位置 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地址上方提供位置新德里,但这不是我当前的位置。

请帮帮我。

3 个答案:

答案 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/你可以在这里看到如何实现这一点。

它易于实施,如果不能满足您的需求,您可以购买总数据库。