ホームページ >バックエンド開発 >PHPチュートリアル >PHP とサードパーティ API を使用して IP アドレスから都市、州、国を取得するにはどうすればよいですか?

PHP とサードパーティ API を使用して IP アドレスから都市、州、国を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-23 06:41:13431ブラウズ

How to Get City, State, and Country from an IP Address using PHP and Third-Party APIs?

PHP で IP アドレスから位置情報を取得する方法

Web ページを訪問者の固有の位置に合わせて調整するには、以下が必要ですIP アドレスに基づいて都市、州、国などの情報を取得する信頼できる方法。これを行うために利用できるさまざまなオプションがあります。

1 つの方法は、無料の GeoIP データベースをダウンロードし、ローカルで検索を実行することです。あるいは、リモート ルックアップにサードパーティ サービスを使用することもできます。これは、セットアップの手間を省きますが、遅延が増加する便利なオプションです。

そのようなサードパーティ サービスの 1 つが ipinfo.io です。ホスト名、地理的位置情報、ネットワーク所有者など、IP アドレスに関するさまざまな情報が提供されます。

例:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "CA",
  "country": "US",
  "phone": 650
}

ここで ipinfo.io を使用する方法の例を示します。 PHP:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
echo $details->city; // -> "Mountain View"

クライアント側に ipinfo.io を統合することもできます。これは jQuery の例です:

$.get("https://ipinfo.io/json", function (response) {
    $("#ip").html("IP: " + response.ip);
    $("#address").html("Location: " + response.city + ", " + response.region);
    $("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");

以上がPHP とサードパーティ API を使用して IP アドレスから都市、州、国を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。