Geolocalizar usuarios con su IP
Escrito por Alex Barros
Os quiero comentar brevemente cómo saber el País del que provienen vuestros visitantes, usando su IP, y la base de datos de MaxMind
Para tener esta feature, descargamos la última versión de GeoLite Country (es la versión gratuita de la base de datos).
Esto es un archivo comprimido, que contiene un archivo tipo DAT. Lo descomprimimos en nuestro directorio, y nos olvidamos de él.
Si vais a programar en PHP aquí hay algunos archivos de muestra. También hay soporte para otros lenguajes.
El que más nos importa es el archivo geoip.inc que contiene la librería para gestionar la base de datos en PHP. Guardamos el archivo en el mismo directorio que la base de datos.
Ahora, sólo nos queda un poco de código:
-
<?php
-
// Este codigo muestra como usar la API de GeoIP
-
-
include("geoip.inc");
-
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
-
$cc = geoip_country_code_by_addr($gi, $_SERVER[‘REMOTE_ADDR’]);
-
geoip_close($gi);
-
-
echo "El codigo de tu pais es: $cc";
-
?>
Esto mostrará por pantalla algo como
El codigo de tu pais es: ES
Si queremos usar el nombre del país en Español, podéis descargaros este archivo que he preparado. Contiene un array asociativo con las claves de los paises, y sus valores, usadlo así:
-
<?php
-
// Este codigo muestra como usar la API de GeoIP
-
-
include("geoip.inc");
-
include("paises.inc");
-
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
-
$cc = geoip_country_code_by_addr($gi, $_SERVER[‘REMOTE_ADDR’]);
-
geoip_close($gi);
-
-
?>
Debería aparecer algo similar a:
Tu vienes de España
Nota1: Recomiendo tener todos los archivos en el mismo directorio, si no lo hacéis así, tened cuidado con poner bien la ruta a cada archivo!
Nota2: Si algún código que has copiado de esta web no te funciona, comprueba que las comillas sean correctas (reescríbelas con tu teclado) Wordpress traduce las comillas simples y dobles que se usan en código, por otras raras que se usan en textos.



Respeta el copyleft