GeoLite2-Country veritabanını kullan burdan sitesinden ücretsiz kayıt ol indir.
<?php
// Kullanıcı IP adresi belirliyoruz
$ip_address = $_SERVER['REMOTE_ADDR'];
// GeoLite2 veritabanı dosyası entegre ediyoruz.
$database = __DIR__.'/GeoLite2-Country.mmdb';
// Framework vs ekleme yoksa bu satırı sile bilirsin
require_once __DIR__.'/vendor/autoload.php';
use GeoIp2\Database\Reader;
$reader = new Reader($database);
// IP adresinden ülke kodunu al
$record = $reader->country($ip_address);
$country_code = strtolower($record->country->isoCode);
// Yerel dil bilgisi
switch ($country_code) {
case 'tr':
$local_language = 'tr';
break;
case 'de':
$local_language = 'de';
break;
case 'fr':
$local_language = 'fr';
break;
default:
$local_language = 'en';
}
// Belirli bir ülkeden gelen kullanıcıyı başka bir sayfaya yönlendir örnek sana hizmet vermiyok dersin :D
if ($country_code == 'de') {
header('Location: http://example.com/deutsch');
exit;
}
?>
artık kodu geliştirmek isteklerine göre sana kalmış. Not: kodu denemedim.
kardeşim sana çok yardımcı olmak isteriz ama daha açıklayıcı olmaz lazım birde html kodun yanında bize görselde gönder birde tam olarak ne yapmak istiyorsun yoksa veri çekmek çok basit bir işlem php de
paket miktarını yükselt, olmazsa config dosyasında wait_timeout değerini yükselt, yedek dosyayı sıkıştırıp da içeri aktara bilirsin :)
cenuta kullanıyorum ben mail başı 2gb kota sınırsız mail hızıda gayet iyi.
$sayı=uniqid();
ben bu yöntemi kullanıyorum yeterli oluyor basit.
frdgk kardeşim cevap için teşekkürler. Bende sadece koşullu ifadenin dışına use olan kısımlarını taşıdım. Dün biraz uğraşıp halletmiştim. Senin cevabınında çalışıyor olması lazım.
okumusmr kardeşim cevabını denemedim ama burda sıkıntı aslında şu benim anladığım kadarı ile ''use'' lar süslü parantezler içinde çalışmıyor.
Hocam cevap için teşekkürler. İşimi gördü fazlasıyla kalan kısımları ben artık üzerinde geliştiririm kodun :)