A
Alan98
Beta
Social Media
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
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: