需要注意的是,此擴充功能現在已被 MaxMind 現在製作的 GeoIP2 API 取代。有一個純 PHP 類別集和一個 C 函式庫和擴充功能,您可以選擇安裝。程式碼可以在 MaxMind 的 GitHub 頁面上的各種專案中找到: https://github.com/maxmind/
需要注意的是,此擴充功能現在已被 MaxMind 現在製作的 GeoIP2 API 取代。有一個純 PHP 類別集和一個 C 函式庫和擴充功能,您可以選擇安裝。程式碼可以在 MaxMind 的 GitHub 頁面上的各種專案中找到: https://github.com/maxmind/
使用 GeoIP2,最簡單的方法是
* 取得最新的 GeoIP2 Lite 資料庫: https://dev.maxmind.com/geoip/geoip2/geolite2/
* 取得最新的 geoip2.phar: https://github.com/maxmind/GeoIP2-php/releases
<?php
require_once("geoip2.phar");
use GeoIp2\Database\Reader;
// 城市資料庫
$reader = new Reader('/path/to/GeoLite2-City.mmdb');
$record = $reader->city($_SERVER['REMOTE_ADDR']);
// 或使用國家資料庫
// $reader = new Reader('/path/to/GeoLite2-Country.mmdb');
// $record = $reader->country($_SERVER['REMOTE_ADDR']);
print($record->country->isoCode . "\n");
print($record->country->name . "\n");
print($record->country->names['zh-CN'] . "\n");
print($record->mostSpecificSubdivision->name . "\n");
print($record->mostSpecificSubdivision->isoCode . "\n");
print($record->city->name . "\n");
print($record->postal->code . "\n");
print($record->location->latitude . "\n");
print($record->location->longitude . "\n");
$>