编程

使用 PHP 通过 IP 地址获取地理位置

16 2025-11-10 15:13:00

在 Web 应用中,你是否要求访问者选择国家/地区名称、城市名称或其他与位置相关的信息?如果是,你可以使用地理位置 API 来实现同样的功能。

地理位置 API 提供访问者的地理位置详细信息。此 API 使用 IP 地址获取访问者的地理位置详细信息。

因此,为了追踪所有详细信息,我们需要访问者的 IP 地址。使用 IP 地址,我们可以轻松获取所有地理位置详细信息。

在本教程中,我们将了解如何使用 PHP 通过 IP 地址获取地理位置信息。

在这里,我们将使用一个免费的地理位置 API 通过 IP 地址获取位置详细信息。

第一步:使用 PHP 获取用户 IP

$visitorIP = $_SERVER['REMOTE_ADDR'];

第 2 步:使用地理位置 API 从 PHP 中的 IP 地址获取位置

<?php 
	$visitorIP = $_SERVER['REMOTE_ADDR']; 
	$apiURL = 'https://freegeoip.app/json/'.$visitorIP;
 
	$ch = curl_init($apiURL); 
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
	$apiResponse = curl_exec($ch); 
	curl_close($ch); 

	$ipInfo = json_decode($apiResponse, true); 

	if(!empty($ipInfo)){ 

		$country_code = $ipInfo['country_code']; 
		$country_name = $ipInfo['country_name']; 
		$region_name = $ipInfo['region_name']; 
		$region_code = $ipInfo['region_code']; 
		$city = $ipInfo['city']; 
		$zip_code = $ipInfo['zip_code']; 
		$latitude = $ipInfo['latitude']; 
		$longitude = $ipInfo['longitude']; 
		$time_zone = $ipInfo['time_zone']; 

		echo 'Country Name: '.$country_name.'<br>'; 
		echo 'Country Code: '.$country_code.'<br>'; 
		echo 'Region Name: '.$region_name.'<br>'; 
		echo 'Region Code: '.$region_code.'<br>'; 
		echo 'City: '.$city.'<br>'; 
		echo 'Zipcode: '.$zip_code.'<br>'; 
		echo 'Latitude: '.$latitude.'<br>'; 
		echo 'Longitude: '.$longitude.'<br>'; 
		echo 'Time Zone: '.$time_zone; 
	}else{ 
		echo 'IP details is not found!'; 
	} ?>

好了,在本文中,你学习了如何在 PHP 中使用 IP 地址获取地理位置信息。

 

PHP