Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2009, 09:32
Avatar de markshock
markshock
 
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 1 mes
Puntos: 0
Saber el país de un usuario con la IP...

Hola amigos,

estoy viendo la manera de saber el país de un usuario dependiendo de la IP, he visto un par de formas por internet, y estoy usando una de ellas, que es la siguiente:

Código PHP:
//Obtener IP:
$_SERVER["HTTP_CLIENT_IP"]!=""?$ip=$_SERVER["HTTP_CLIENT_IP"]:$ip=$_SERVER["REMOTE_ADDR"];
//Función de obtención de IP (basado en la web de webhosting.info)
   
function getCountry($ip_address){
      
//By Marc Palau (http://www.nbsp.es)
      
$url "http://ip-to-country.webhosting.info/node/view/36";
      
      
$inici "src=/flag/?type=2&cc2=";
      
      
$ch curl_init();
      
curl_setopt($chCURLOPT_URL$url);
      
curl_setopt($chCURLOPT_POST,"POST");
      
curl_setopt($chCURLOPT_POST1);
      
curl_setopt($chCURLOPT_POSTFIELDS"ip_address=$ip_address"); 
      
      
ob_start();
      
      
curl_exec($ch);
      
curl_close($ch);
      
$cache ob_get_contents();
      
ob_end_clean();
      
      
$resto strstr($cache,$inici);
      
$pais substr($resto,strlen($inici),2);
      
      return 
$pais;
   }
//obtención de código de país:
$pais strtolower(getCountry($ip)); 
El problema con el que me encuentro es que hay veces que http://ip-to-country.webhosting.info/ va lento o muuuy lento y por consiguiente relentiza el proceso de carga de la web....

Sabéis de alguna otra forma mas factible, que no dependa de dicho servicio?

Imagino que la solución pasará por disponer de algún fichero donde poder consultar los datos en el propio servidor, un .dat o algo así... pero, donde encuentro ese fichero.... esa base de datos...?


Mil gracias
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________