hace tiempo hice un codigo para detectar paises y actuar en consecuencia, es el siguiente:
<?php
include( "pais.php" );//NO MODIFICAR ESTA LINEA.
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
$PAIS= "VE"; //ELEJIMOS EL CODIGO DEL PAIS. ESTA PARTE HAY QUE MODIFICAR SOLO LO QUE HAY ENTRE COMILLAS.
$PAIS2 ="CR" ;
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
if (pais_visitante($PAIS)) //NO MODIFICAR ESTA LINEA. AQUI PREGUNTA SI EL PAIS DEL VISITANTE ES EL QUE NOS INTERESA
{
//INCLUIR AQUI EL CODIGO DE ADSENSE O BANNER O MENSAJE PARA LA PERSONA QUE VIENE DEL PAIS QUE NOS INTERESA SUSTITUYE LA SIGUIENTE LINEA POR LO QUE QUIERAS HACER:
echo " Eres de Venezuela"; //SI ES UN MENSAJE, SOLO DEBES CAMBIAR LO QUE HAY ENTRE COMILLAS POR EL MENSAJE QUE QUIERAS. O HACER LA REDIRECCION
}
//SI QUEREMOS HACER ALGO CON LOS VISITANTES QUE NO SON DEL PAIS QUE NOS INTERESA, DEBEN DESCOMENTAR LAS SIGUIENTES LINEAS ( ELIMINAR /* Y */ ):
/*
else if (pais_visitante($PAIS2))
{
echo " Eres de Costa Rica"; // AQUI SUSTITUIMOS EL MENSAJE QUE ESTA ENTRE COMILLAS POR LO QUE QUIERAS. SI VAS A PONER EL CODIGO DE OTRO BANNER O ANUNCIO, ENTONCES ELIMINA LA LINEA COMPLETA.
}
*/
?>
codigo de la libreria "pais.php":
<?
function pais_visitante($PAIS){
$IPADDRESS = $_SERVER["REMOTE_ADDR"];
$archivo_xml = "http://api.hostip.info/get_xml.php?ip=".$IPADDRESS ."";
$procedencia_xml = file_get_contents ($archivo_xml);
if (empty($procedencia_xml)){
echo"No encontrado";
}else{
preg_match_all("|<Hostip>(.*)</Hostip>|sU", $procedencia_xml, $items);
$lista_nodos = array();
foreach ($items[1] as $key => $item)
{
preg_match("|<countryAbbrev>(.*)</countryAbbrev>|s", $item, $mi_sigla);
$lista_nodos[$key]['mi_sigla'] = $mi_sigla[1];
}
$procedencia_xml = "";
}
if ($mi_sigla[1] == $PAIS )
$salida = true;
else
$salida = false;
return( $salida);
}
?>
Espero que te sirva
saludos