-4

現在の場所 (市外局番、市外局番または郵便番号、州、国) を
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 アドレスの上に場所ニューデリーが表示されますが、これは私の現在の場所ではありません。

私を助けてください。

4

3 に答える 3

1

それはあなたのせいではありません。データベースの IP 情報が正しくないようです: http://whatismyipaddress.com/ip/122.161.20.5

そのようなデータベース (GeoIP など) には、多くの場合、誤った情報が含まれています。

于 2013-05-31T11:18:52.523 に答える
0

Maxmind Geo API には、IP を見つけるための無料の試用版が用意されています。実装が簡単で、ライト バージョンもあります。

http://www.maxmind.com/en/geolocation_landing

このリンクを確認してください。

http://dev.maxmind.com/geoip/これを実装する方法はこちらで確認できます。

実装は簡単で、必要に応じない場合は、データベース全体を購入できます。

于 2013-05-31T11:40:11.543 に答える