Yükleniyor
Whatsapp Hattımız
DuyuruSitenizi profesyonel araçlar ile test edip seo puanınızı yükseltmek için tıklayınız.
PHP İle İp Adresinden Konum Nasıl Bulunur?

PHP İle İp Adresinden Konum Nasıl Bulunur?

17.12.2020 PHP Dersleri

Çalıştığınız projeye göre bazen ziyaretçilerin ülkelerini, koordinatları vb. konum bilgilerini bulmanız gerekebiliyor. Örneğin; çoklu dil desteği olan bir sitenizde ziyaretçilerin geldiği ülkeye göre sayfa dilini otomatik değiştirebilirsiniz. Bu şekilde kullanıcılar sitenize kolay bir şekilde adapte olmuş olacaktır. Konum bulma için kullanacağımız servis gibi internette pek çok servis bulunmaktadır. Bugün bunlardan bir tanesi ile küçük bir uygulama yapacağınız ancak temel mantık neredeyse tüm servislerde aynıdır. Google’la ip location api yazarsanız pek çok servis bulabilirsiniz. Kullanacağımız servis aylık 10 bin isteği ücretsiz olarak karşılamaktadır. Sonrası için paket yükseltmesi yapmanız gerekiyor. İlk olarak api almak için siteye kayıt olmanız gerekiyor. https://ipstack.com/product adresine girdikten sonra en baştaki FREE paketindeki GET FREE API KEY linkine tıklıyoruz.

PHP İle İp Adresinden Konum Nasıl Bulunur?

Gelen sayfada formdaki * ile işaretli alanları doldurup kayıt olunuz.

PHP İle İp Adresinden Konum Nasıl Bulunur?

Kayıt olduktan sonra sizi direk api key sayfasına yönlendirecektir. Eğer yönlendirme olmazsa giriş yaptıktan sonra Dashboard linkine tıklayıp aynı sayfaya gidebilirsiniz.

PHP İle İp Adresinden Konum Nasıl Bulunur?

Gelen sayfadan API Access Keyi kopyalayalım ilerde lazım olacaktır.

İsterseniz api dökümanından gerekli kodları bulup kendiniz istekte bulunabilirsiniz. Ayrıca farklı parametreler ile ip adresinden biraz daha fazla bilgi alabilirsiniz. https://ipstack.com/documentation

Biz kendi örneğimizden devam edelim. Aşağıdaki kodlarda $access_key yazan yere kendi access keyinizi yapıştırınız. Normalde çıktı json olarak gelmektedir. Biz kolay işlem yapmak için json verisini decode edip array formatına çeviriyoruz. Koddaki diğer alanlar açıklama satırları ile anlatılmıştır.

<?php
function GetIP(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}

return $ip;
}

$ip = GetIP(); // fonksiyon ile gerçek ip adresini buluyoruz.
$access_key = "";

$ch = curl_init('http://api.ipstack.com/'.$ip.'?access_key='.$access_key.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl isteği sonucu gelen verileri değişkene atıyacağımız için ekrana yazdırmayı kapatıyoruz.
$data = curl_exec($ch);
$curl_put = curl_getinfo($ch); // istek ile karşı tarafta açılan oturumun bilgisini alıyoruz.

curl_close($ch); // bağlantıyı kapatıyoruz

if(!curl_errno($ch) and $curl_put["http_code"] == 200){ // curl üzerinde hata yoksa ve sayfaya başarılı(200) şekilde ulaşılmışsa api çalışmık demektir.
$api_result = json_decode($data, true);
print_r($api_result);
}else{
echo "Api çalışamadı.";
}
?>

Demo: https://dosyalar.sitenikur.com/ipden-konum-bulma/

Demoyu indir: https://dosyalar.sitenikur.com/ipden-konum-bulma.rar

Gelen veriyi istediğiniz gibi kullanabilirsiniz.

Yorum Ekleyin