使用 PHP 根据 IP 地址获取用户所在城市,可以使用 IP 库来进行查询。以下是使用 GeoIP2 库的示例代码:

<?php
require_once 'vendor/autoload.php';

use GeoIp2\Database\Reader;

$ipAddress = $_SERVER['REMOTE_ADDR'];

$databaseFile = 'path/to/GeoLite2-City.mmdb';
$reader = new Reader($databaseFile);

try {
    $record = $reader->city($ipAddress);
    
    $city = $record->city->name;
    $country = $record->country->name;
    $latitude = $record->location->latitude;
    $longitude = $record->location->longitude;
    
    echo 'City: ' . $city . '\n';
    echo 'Country: ' . $country . '\n';
    echo 'Latitude: ' . $latitude . '\n';
    echo 'Longitude: ' . $longitude . '\n';
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
}
?>

请注意,此示例假设您已经安装了 GeoIP2 库并将数据库文件路径设置为正确的值。您可以通过 GeoLite2 网站下载 GeoLite2-City 数据库文件。


原文地址: https://www.cveoy.top/t/topic/o1Su 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录