- Desde
- 12 Dic 2012
- Mensajes
- 118
Hola usuarios de Forobeta.
Tenía ganas de hacer algún aporte a esta comunidad que me ha dado mucho, y como es el único lugar por el que ando (por suerte), es exclusiva acá en forobeta porque no la he publicado en ningún lugar más
Ahí tienen, si quieren utilizarla para redireccionarla por ejemplo a alguna URL del país de su web comprobando que el país esté disponible en el array pueden hacer así:
Ahí comprobará si el país desde el que el cliente ingresa está dentro del array (en este caso Argentina, México y España) será redireccionado a una carpeta de su web que tenga ese código de país en minúsculas. Si tienen alguna duda déjenme un comentario o un MP y los ayudaré a aclararla. Si quieren utilizarla sólo para la información sin imprimir la información, sólo borran el echo y hacen un include así:
y accederán a los datos con la misma variable
Demo: http://clanpirata.com.ar/geoip.php
Descarga: https://www.mediafire.com/?03u58dt2n0v1e0x
Un saludo :encouragement:
Tenía ganas de hacer algún aporte a esta comunidad que me ha dado mucho, y como es el único lugar por el que ando (por suerte), es exclusiva acá en forobeta porque no la he publicado en ningún lugar más
PHP:
<?php
/*
*
* Script de geolocalización
* @author Alan98 (http://forobeta.com/member.php?u=35459)
*
*/
// Primero obtenemos la IP real del visitante
$realip = (!empty($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']));
// Comprobamos si está disponible cURL, que es más rápido que file_get_contents
if(function_exists('curl_init')){
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9) Gecko/2008052906 Firefox/3.0');
curl_setopt($ch, CURLOPT_URL, 'http://api.codehelper.io/ips/?php&ip='.$realip);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
} else {
$data = file_get_contents('http://api.codehelper.io/ips/?php&ip='.$realip);
}
// Parseamos la respuesta JSON
$data = json_decode($data, 1);
// Imprimimos la información al cliente
echo 'Tu país: <b>',$data['CountryName'],'</b>, tu código de país: <b>',$data['Country'],'</b>, tu región: <b>',$data['RegionName'],'</b>, tu ciudad: <b>',$data['CityName'],'</b>.';
Ahí tienen, si quieren utilizarla para redireccionarla por ejemplo a alguna URL del país de su web comprobando que el país esté disponible en el array pueden hacer así:
PHP:
// Países disponibles
$ava = array('AR', 'MX', 'ES');
// En caso de estar entre el array, realizamos redirección
if(in_array($data['Country'], $ava)) die(header('Location: http://tuweb.com/'.strtolower($data['Country'])));
Ahí comprobará si el país desde el que el cliente ingresa está dentro del array (en este caso Argentina, México y España) será redireccionado a una carpeta de su web que tenga ese código de país en minúsculas. Si tienen alguna duda déjenme un comentario o un MP y los ayudaré a aclararla. Si quieren utilizarla sólo para la información sin imprimir la información, sólo borran el echo y hacen un include así:
PHP:
require 'geoip.php';
Demo: http://clanpirata.com.ar/geoip.php
Descarga: https://www.mediafire.com/?03u58dt2n0v1e0x
Un saludo :encouragement: