Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php获取ip所在地(php获取ipv6地址)

作者:空白篇pia~   发布日期:2025-02-07   浏览:868

要获取IP所在地,可以使用GeoIP数据库。以下是一个示例代码,可以获取IP所在的国家和城市:

<?php
$ipAddress = $_SERVER['REMOTE_ADDR'];

// IPv6地址需要转换为IPv4地址才能使用GeoIP数据库
if (filter_var($ipAddress, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    $ipAddress = inet_ntop(inet_pton($ipAddress));
}

// 加载GeoIP数据库
$geoIPDatabase = geoip_open('GeoIP.dat', GEOIP_STANDARD);

// 获取IP所在的国家和城市
$country = geoip_country_name_by_addr($geoIPDatabase, $ipAddress);
$city = geoip_city_by_addr($geoIPDatabase, $ipAddress);

// 关闭GeoIP数据库
geoip_close($geoIPDatabase);

echo "IP地址: " . $ipAddress . "<br>";
echo "国家: " . $country . "<br>";
echo "城市: " . $city . "<br>";
?>

请确保已经下载并安装了GeoIP数据库文件(例如GeoIP.dat)。您可以从MaxMind网站上下载免费的GeoIP Lite数据库文件。

请注意,IPv6地址需要转换为IPv4地址才能在GeoIP数据库中使用。这里使用了inet_ntopinet_pton函数进行IPv6地址的转换。

希望对你有所帮助!

上一篇:php部署redis(php部署项目)

下一篇:php 获取指定时间(php取时间戳)

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站