PHP, Laravel Geoplugin Kullanarak IP Adresinden Konum Bulma - Find Location Using Geoplugin

Geoplugin tek bir API çağrısı ile birçok programlama dilinde kolayca kullanılabilen bedava konum bulma eklentisidir. Kullanacağınız tek değişken ip adresidir. Bu ip adresi, IPv4 veya IPv6 olabilir. Yükleme yapmaya, üye olmaya, bir API anahtarına ihtiyaç duymadan coğrafi konum hakkında kolayca ve verimli bir şekilde bilgi alabilirsiniz. Ben PHP ile nasıl kullanılacağını yazacağım fakat geoPlugin sitesinde diğer programla dillerinde de nasıl kullanılabileceği yazıyor.



Geoplugin Verdiği Bilgiler:

  • Şehir (geoplugin_city)
  • Bölge (geoplugin_region)
  • Bölge Kodu (örneğin: istanbul için 34) (geoplugin_regionCode)
  • Ülke (geoplugin_countryName)
  • Ülke Kodu (geoplugin_countryCode)
  • Ülkenin Avrupa Birliğinde Olup Olmadığı (geoplugin_inEU)
  • Kıta (geoplugin_continentName)
  • Kıta Kodu (geoplugin_continentCode)
  • Enlem ve Boylam (geoplugin_latitude)ve(geoplugin_longitude)
  • Bulunan Konumun Keskinliği (km cinsinden yarıçap) (geoplugin_locationAccuracyRadius)
  • Saat Dilimi (geoplugin_timezone)
  • Para Birimi Kodu (geoplugin_currencyCode)
  • Para Birimi Sembolu (geoplugin_currencySymbol_UTF8)
  • Para Biriminin Dolar Kuru (geoplugin_currencyConverter)
İhtiyacımız olan bir ip adresi var. Kendi ip adresinizi bu siteden öğrenebilirsiniz.

http://www.geoplugin.net/php.gp?ip=IPADDRESS
Site adresinin IPADDRESS yazan yere kullanacağınız ip adresi yazacaksınız. Daha sonra çıkan sonucu bir değişkene aktarmak var. file_get_contents() fonksiyonu ile adresini yazdığınız dosyanın içeriğini çekebilirsiniz. Bu adres aynı zamanda bir site adresi de olabilir. Adresi tarayıcınıza girdiğinizde, sayfa kaynağını açtığınızda bulduğunuz içeriği çeker ve bunu bir string olarak kaydeder.
$html = file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip);
Bu cevabı $html değişkenine kaydetttik. Aslında aldığımız bu cevap geoPlugin tarafından serialize() edilmiş bir veri. serialize() fonksiyonu bir veriyi türünü ve yapısını kaybetmeden, saklamak veya aktarmak için kullanılan bir fonksiyon. Aldığımız serialize edilmiş veriyi eski yapısına dönüştürmek için unserialize() kullanmamız gerekiyor.
$org = unserialize($html);
Orijinal veriyi $org değişkenine kaydettik. Bu associative array türünde bir veri. Associative diziler, indexed dizilerden farklı olarak değerleri, onlara atanılan anahtar isimlerle çağırabildiğiniz diziler
$associative = array('isim' => 'talha');
echo $associative['isim']; //talha
print_r() ile içinde ne olduğuna bakarsanız yukarıda yazdığım, geoPlugin'in verdiği bilgilerin olduğunu görebilirsiniz. Bu array içerisinden hangi veriyi istiyorsanız onun anahtar ismini yazmalısınız. Örneğin şehri ve ülkeyi öğrenmek için:

$sehir = $org['geoplugin_region'];
$ulke = $org['geoplugin_countryName'];
Tam kod:
$html = file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip);
$org = unserialize($html);
$sehir = $org['geoplugin_region'];
$ulke = $org['geoplugin_countryName'];
echo $sehir.' - '.$ulke;

Yorum Gönder

0 Yorumlar