ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して単純な IP アドレス クエリ関数を開発する方法

PHP を使用して単純な IP アドレス クエリ関数を開発する方法

PHPz
PHPzオリジナル
2023-09-25 09:52:411123ブラウズ

PHP を使用して単純な IP アドレス クエリ関数を開発する方法

PHP を使用して単純な IP アドレス クエリ関数を開発する方法

IP アドレスは、ネットワーク内でデバイスを一意に識別する数値アドレスです。場合によっては、地理的位置、ISP プロバイダーなど、IP アドレスに関する関連情報を取得する必要があります。この記事では、PHP を使用して、単純な IP アドレスのクエリ関数を開発します。

この機能を実装するには、サードパーティの IP アドレス照会サービス API を使用し、API に HTTP リクエストを送信して IP アドレスの関連情報を取得する必要があります。以下に具体的な手順とコード例を示します。

ステップ 1: IP アドレスを取得する

まず、ユーザーの IP アドレスを取得する必要があります。 PHP では、ユーザーの IP アドレスは $_SERVER['REMOTE_ADDR'] を通じて取得できます。コード例は次のとおりです。

$ip = $_SERVER['REMOTE_ADDR'];

ステップ 2: HTTP リクエストの送信

次に、HTTP リクエストを IP アドレス クエリ サービス API に送信し、ユーザーの IP アドレスをパラメータ。ここでは、無料の IP アドレス クエリ サービス API を使用しています。これは、コード内の他のサービスに置き換えることができます。コード例は次のとおりです。

$url = "http://api.ipapi.com/".$ip."?access_key=YOUR_ACCESS_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);

YOUR_ACCESS_KEY を独自の API アクセス キーに置き換える必要があることに注意してください。

ステップ 3: API 応答を解析する

API 応答は、IP アドレスに関連する情報を含む JSON 文字列です。 PHP の json_decode 関数を使用して、後で使用できるように連想配列に解析します。コード例は次のとおりです。

$country = $data['country_name'];
$region = $data['region_name'];
$city = $data['city'];
$isp = $data['isp'];

ステップ 4: 結果の表示

最後に、ユーザーが直感的に確認できるように、取得した IP アドレス関連情報を Web ページ上に表示します。コード例は次のとおりです。

echo "IP地址:" . $ip . "<br>";
echo "所在国家:" . $country . "<br>";
echo "所在地区:" . $region . "<br>";
echo "所在城市:" . $city . "<br>";
echo "ISP供应商:" . $isp . "<br>";

完全なコード例は次のとおりです。

$ip = $_SERVER['REMOTE_ADDR'];
$url = "http://api.ipapi.com/".$ip."?access_key=YOUR_ACCESS_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);

$country = $data['country_name'];
$region = $data['region_name'];
$city = $data['city'];
$isp = $data['isp'];

echo "IP地址:" . $ip . "<br>";
echo "所在国家:" . $country . "<br>";
echo "所在地区:" . $region . "<br>";
echo "所在城市:" . $city . "<br>";
echo "ISP供应商:" . $isp . "<br>";

上記の手順を通じて、単純な IP アドレス クエリ関数を実装できます。ユーザーがWebページにアクセスすると、IPアドレスに関する情報が自動的に取得され、表示されます。

この例では、毎日のクエリ制限とアクセス レート制限がある無料の IP アドレス クエリ サービス API を使用していることに注意してください。より高いクエリ頻度やより多くの機能が必要な場合は、有料の IP アドレス クエリ サービスを使用するか、独自の IP アドレス データベースを構築することを検討できます。

以上がPHP を使用して単純な IP アドレス クエリ関数を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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