Bu işin teknik mantığı IP'yi alıp, belli bloklara göre ülke tespiti yapılmasına dayanır.
IP blogunun ilk iki hanesi Servis sağlayıcı bilgisini veriyor. Yani IP'nin hangi servis sağlayıcı üzerinden atandığını, hangi servis sağlayıcının o IP bloguna sahip olduğunu gösteriyor.
Bu IP bloklarını ayırt edebileceğiniz veritabanını size şu adres sağlıyor;
IP2Location Tıklayın.Hem IPv4 Protokolü için hemde IPv6 protokolü için önce talimatları izleyerek veri tabanında tabloları oluşturun sonra csv dosyasını içe aktarın.
Daha sonra ziyaretçinin ip adresini alın ve şu şekilde parçalayın;
$haneler = explode($_SERVER['REMOTE_ADDR'],'.');
echo $hane[0];
Bu kod size ilk haneyi verecektir. Bu değeri alarak veritabanında sorgulattığınızda hangi ülkeden giriş yapıldığını bulabilirsiniz. Tavsiyem bu sorgunun sonucunu da cookie atayın.
Bu cookie yoksa veritabanı sorgusunu yapın böylece her girişte değil sadece dil daha önce tespit edilmediyse, ilk kez giriş yapılıyorsa yada tespit edilen dilin cookiesı silindiyse sorgu yaparsınız. Sistemi gereksiz yormazsınız.
Bu tabii ki file_get_contents fonksiyonu ve sizinde attığınız linkteki gibi bir ip servisi ile yapılabilir.
Ama bir gün bu ip servisi devre dışı kalırsa :) sizin sisteminiz çalışmayacak anlamına gelir.