en esta Url puedes bajarte la tabla con los rangos Ips, esta solo te da los paises, hay otra en otra pagina que te da paises y provincias pero es de pago y no barata por cierto
Aprovecho por si alguien sabe donde poderser bajar la Tabla de rangos IPS, que de tb por regiones pues nos haria un favor jeje
pues aqui esta la URL de rangos gratis
http://ip-to-country.webhosting.info/
y una funcion bueno hay muchas, esta quizas te sirva
Código PHP:
function ip_to_country_code($ip)
{
global $db;
$long = ip2long($ip);
$long = sprintf("%u", $long);
$q = "SELECT * FROM ip_database WHERE $long BETWEEN ip_from AND ip_to";
$d = $db->sql_query($q);
if (mysql_num_rows($d)) {
$x = mysql_fetch_array($d);
$pais['code'] = strtolower($x['c2code']);
$pais['nom'] = $x['c3code'];
$pais['Totalnom'] = $x['country'];
return $pais;
}
else {
$pais['code'] = "unknown";
$pais['nom'] = "unknown";
$pais['Totalnom'] = "unknown";
return $pais;
}
}
saludos