Detectar país en PHP (II)

Hace poco vimos cómo detectar el país de origen de un visitante con PHP, haciendo uso de la información proporcionada por el sitio web webhosting.info .

Ahora vamos a ver otra forma, también en PHP, de detectar el país de origen de una visita, pero sin depender de terceros, dependiendo únicamente de nuestros propios recursos para ello.

Lo primero de todo es descargarnos un par de ficheros:
1) http://geolite.maxmind.com/download/geoip/api/php/geoip.inc
2) http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
(en el caso de que estos ficheros varíen su URL, buscarlos en la web de MaxMind)

Y el código PHP a incluir sería el siguiente:

require("geoip.inc");
$BD = geoip_open("GeoIP.dat", GEOIP_STANDARD);
$pais = geoip_country_name_by_addr($BD, $_SERVER['REMOTE_ADDR']);
geoip_close($BD);

En este código se supone que los ficheros geoip.inc y GeoIP.dat están en el mismo directorio que el fichero PHP con el que estamos trabajando. Aunque ésto se puede cambiar, claro.

La variable (de texto) $pais contendrá el nombre (en inglés) del país de origen del visitante de la página web en cuestión. Si editamos el fichero geoip.inc podemos ver los nombres exactos que asigna a cada país según su procedencia, aunque como digo son sus nombres en inglés (por ejemplo: Spain, Japan, etc.).