Merhabalar,
Bu yazımda PHP ile, sitenizi ziyaret eden kullanıcıların IP Adresi, Şehir ve Ülke bilgilerine nasıl ulaşabileceğinize dair bir örnek paylaşacağım. Tabii ki Php direkt olarak şehir ve ülke gibi bilgileri bizimle paylaşmıyor.
Bunun için IP Adresi aracılığıyla diğer bilgilere ulaşacağız. Bunun için bazı API veya köprü görevi gören sistemler bulunuyor. Bu IP adresini karşı sistemlere gönderip onlardan gelen cevap ile işlem yapacağız.
Çok uzatmadan IP adresini nasıl elde edeceğimize bakalım.
<?php
// ip adresini al ve değişkene ata
$ip_adresi = $_SERVER['REMOTE_ADDR'];
// geoplugin.net adresine ip adresini ilet ve diğer bilgilere ulaşım sağla
$uzak_adres = @unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip_adresi));
// Şehir dönen değeri değişkene ata
$sehir = $uzak_adres['geoplugin_city'];
// Ülke dönen değeri değişkene ata
$ulke = $uzak_adres['geoplugin_countryName'];
// Değişkenleri veritabanına kaydetmek için kullanabilirsiniz.
// Ekrana basmak isterseniz echo ile basabilirsiniz.
echo '<p><b>'.'Şehir: '.'</b>'.$sehir.'<br>'. '<b>'.'Ülke: '.'</b>'.$ulke.'</p>';
Yukarıda basit bir şekilde önce Ip adresini elde edip daha sonra onu geoplugin.net adresine gönderiyoruz. Dosya içinden gelen verileri dizi formatına dönüştürüp tek tek değişkenlere atayabiliriz.
Localhost üzerinde Ip adresi alınmadığı bilgisini de vereyim zaten localde kullanmak çok mantıklı olmayacaktır. Sunucu üzerindeki projenize yukarıdaki kısa kodu eklediğinizde istediğiniz verileri elde edebilirsiniz.
Umarım işinize yarar.
Mutlu Kodlamalar 🙂