PHP IP Adresinden Enlem, Boylam ve Coğrafi Konum Alma

PHP Kullanarak IP Adresinden Enlem, Boylam ve Coğrafi Konum Nasıl Alınır? İşte bu yazıda PHP Kullanarak IP Adresinden Coğrafi Konum Alın.


Bir web uygulamasında, ziyaretçilerden ülke adını, şehir adını veya konumla ilgili başka herhangi bir bilgiyi seçmelerini mi istiyorsunuz? Cevabınız evet ise, coğrafi konum API'sini kullanabilirsiniz.

Geolocation, ziyaretçilerin coğrafi konum detayları hakkında bilgi sağlar. Bu API, ziyaretçilerin coğrafi ayrıntılarını almak için IP adreslerini kullanır.

Bu nedenle, tüm ayrıntıları takip etmek için ziyaretçilerin IP adreslerine ihtiyacımız var. Bir IP adresi kullanarak tüm coğrafi konum ayrıntılarını kolayca alırız.

Bu eğitimde, PHP kullanarak IP adreslerinden coğrafi konum almanın nasıl yapıldığını göreceğiz. Burada IP adresine göre konum ayrıntılarını almak için ücretsiz bir coğrafi konum API'si kullanacağız.

Adım 1: PHP ile Kullanıcının IP Adresini Alın

$visitorIP = $_SERVER['REMOTE_ADDR'];

Adım 2: Geolocation API ile PHP'de IP Adresinden Konum Alın

<?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)) {
    $countryCode = $ipInfo["country_code"];
    $countryName = $ipInfo["country_name"];
    $regionName = $ipInfo["region_name"];
    $regionCode = $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: " . $countryName . "<br>";
    echo "Country Code: " . $countryCode . "<br>";
    echo "Region Name: " . $regionName . "<br>";
    echo "Region Code: " . $regionCode . "<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!";
} ?>