Salve ragazzi, so che sono un po di giorni che vi rompo le bolas XD ma purtroppo mi vado ad impelagare in situazioni alquanto seccanti
Spiego il mio problema:
Ho un sito che gestisce la lingua in base all'ip dell'utente: se l'utente è italiano allora la lingua sarà italiana, se è diversa la lingua allora sarà l'inglese.
Per fare ciò mi sono avvalso di questa funzione
Lo script funziona, ma ha alcune evidenti lacune che andrò ad elencare:
1. E' lento nel dare la risposta
2. Oggi è successo che il sito che utilizzo per tracciare l'ip dell'utente http://who.is/whois-ip/ip-address ha avuto qualche problema e praticamente per 20 min non ha più caricato. La cosa si è ripercossa sul mio sito che, non avendo risposta da who.is non caricava affatto. Una volta che ho tolto la funzione scritta su tutto è tornato normale.
3. Inaffidabile.
Onestamente avevo pensato ad alcune soluzioni:
1. Vorrei sapere se è possibile che alcuni "grandi" della rete come Google mettano a disposizione delle api gratuite per il tracciamento dell'ip in modo da far capo a loro.
2. Avevo pensato di dare "un tempo di risposta massimo" entro il quale ricevere la localizzazione dell'utente. Se questa non avviene ad es in un secondo allora riempio la varibile lingua $lingua == 'it', solo che non ho idea di come fare questa cosa, idee?
Spiego il mio problema:
Ho un sito che gestisce la lingua in base all'ip dell'utente: se l'utente è italiano allora la lingua sarà italiana, se è diversa la lingua allora sarà l'inglese.
Per fare ciò mi sono avvalso di questa funzione
PHP:
<?php
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'];
}
function ipToCountry($ip){
$info = file_get_contents("http://who.is/whois-ip/ip-address/$ip");
list($a, $b) = explode('COUNTRY: ', strtoupper($info));
return substr(trim($b),0,2);
}
$lingua = strtolower(ipToCountry($ip));
if($lingua == 'it'){
echo "lingua ita";
}else{
echo "non ita";
}
?>
Lo script funziona, ma ha alcune evidenti lacune che andrò ad elencare:
1. E' lento nel dare la risposta
2. Oggi è successo che il sito che utilizzo per tracciare l'ip dell'utente http://who.is/whois-ip/ip-address ha avuto qualche problema e praticamente per 20 min non ha più caricato. La cosa si è ripercossa sul mio sito che, non avendo risposta da who.is non caricava affatto. Una volta che ho tolto la funzione scritta su tutto è tornato normale.
3. Inaffidabile.
Onestamente avevo pensato ad alcune soluzioni:
1. Vorrei sapere se è possibile che alcuni "grandi" della rete come Google mettano a disposizione delle api gratuite per il tracciamento dell'ip in modo da far capo a loro.
2. Avevo pensato di dare "un tempo di risposta massimo" entro il quale ricevere la localizzazione dell'utente. Se questa non avviene ad es in un secondo allora riempio la varibile lingua $lingua == 'it', solo che non ho idea di come fare questa cosa, idee?