Obtener el codigo de Pais por la IP (en PHP)

Desde un tweet de PHP de Venezuela leo sobre este interesante codigo para determinar (y asi saber que icono ponerle) al visitante de tu sitio, obtener la IP, hacer un Whois desde PHP bajo Linux.

Este codigo como comenta su autor, lo que hace es obtener la IP del visitante, hace un Whois, actualiza nuestra BD con esa informacion y de esa forma tendremos y sabremos que banderita de pais usar para marcar la visita.

<?php
// PHP file.
// Created By: hauntednipple.co.uk
$ip = $_SERVER['REMOTE_ADDR'];

$country = exec("whois $ip  | grep -i country"); // Run a local whois and get the result back
$country = strtolower($country); // Make all text lower case so we can use str_replace happily
// Clean up the results as some whois results come back with odd results, this should cater for most issues
$country = str_replace("country:", "", "$country");
$country = str_replace("Country:", "", "$country");
$country = str_replace("Country :", "", "$country");
$country = str_replace("country :", "", "$country");
$country = str_replace("network:country-code:", "", "$country");
$country = str_replace("network:Country-Code:", "", "$country");
$country = str_replace("Network:Country-Code:", "", "$country");
$country = str_replace("network:organization-", "", "$country");
$country = str_replace("network:organization-usa", "us", "$country");
$country = str_replace("network:country-code;i:us", "us", "$country");
$country = str_replace("eu#countryisreallysomewhereinafricanregion", "af", "$country");
$country = str_replace("", "", "$country");
$country = str_replace("countryunderunadministration", "", "$country");
$country = str_replace(" ", "", "$country");
?>

Algo bueno para tener anotado por aqui y que seguro me servira, asi que tomo nota de la fuente. Cualquier comentario, por favor, realizarlo al articulo original a su autor.


About this entry