2011-07-19 16 views
1

私はどのようにユーザーがどこに位置しているの都市と州を得ることができるかを把握しようとしています。これどうやってするの? JavaScript、PHPを使うべきですか?ユーザーの所在地を取得するにはどうすればよいですか?

+2

の可能重複[Webユーザの位置を知るには?](http://stackoverflow.com/questions/4026786/how-to-learn-location-of-the-web-user) – Pointy

+3

ちょうど彼らに尋ねてください:) – Paul

答えて

1

私は通常、PHPにはipinfodbを使用します。ここでは、IPに基づいてユーザー情報を取得します。私はスウェーデンに位置していますが、ここでも非常に正確です。 ISPが顧客の場所を隠しているにもかかわらず、APIの精度とは何の関係もないときは常に問題があります。

0

javascript geolocation APIを使用してユーザーを特定し、PHPまたは他のサーバー側スクリプトにAJAX呼び出しを行って場所情報を保存する必要があります。

+0

興味深いことに、私はまた、その記事の最初の段落に気づきました。作者には、ユーザーのIPを使ってそれらを大まかに特定する記事へのリンクも含まれています。 – Rodaine

0

おそらくPHPを保存したい場合などです。私はGoogleの検索の後にいくつかのフォーラムでこれを見つけて修正しました。どれくらい正確かはわかりませんが、私の所在地は1時間以内にわかります。

<? 

    $ip = $_SERVER['REMOTE_ADDR']; 

    if (!empty($IP)) { 
     $location=file_get_contents('http://api.hostip.info/get_html.php?ip='.$ip); 

     list($country, $city) = explode("\n", $location); 
     list($country, $code) = explode(' (', $country); 
     list($city, $state) = explode(', ', $city); 
     $code = substr($code, 0, 2); 
     $country = ucfirst(strtolower(str_replace("Country: ", "", $country))); 
     $city = ucfirst(strtolower(str_replace("City: ", "", $city))); 
    } 

echo 'Country: '.$country.'<br />'; 
echo 'City: '.$city.'<br />'; 
echo 'State: '.$state.'<br />'; 
echo 'Country Code: '.$code.'<br />'; 

?> 

最新の状態であるかどうかわかりません。

+0

これは、報告されたIPアドレスの場所の概算を見つけます。これは、コンピュータを使用している人間の位置と正確に同じではない可能性があります(遠隔地からの企業のプロキシを通過する人は、 IPアドレスの場所)。 – Pointy

4

あなたが望むクロスプラットフォームに依存します。 HTML5にはGeolocation apiがあります。すべてのIEブラウザをサポートする必要がなく、HTML5ソリューションを探しているなら、それを使用することをお勧めします。

さらに編集してdeveloper friendly linkを追加しました。

+0

+1はジオロケーションですが、その機能が利用できない場合はもちろん、maxmindの[geoip](http://www.maxmind.com/app/geolitecity)に落ちる可能性があります。 – Wrikken

0
$country=file_get_contents('http://api.hostip.info/get_html.php?ip='); 
echo $country; 

// Reformat the data returned (Keep only country and country abbr.) 
$only_country=explode (" ", $country); 

echo "Country : ".$only_country[1]." ".substr($only_country[2],0,4); 
関連する問題