Las IP están asignadas a un país de origen, y si tienes la necesidad de verificar en tu programación el país origen ya sea para necesidades personales o para orientar una publicidad determinada.
Por ejemplo un uso seria si una empresa local quiere publicar su banner en tu sitio web, pero solo para determinados países como por ejemplo solo a los Españoles, o a Mexicanos que visiten tu sitio web.
Aquí tengo un ejemplo pero integrado a WordPress: http://www.elcodigofuente.com/ip_locator.php
para eso usaremos una librería que la podemos descargar de este enlace que pertenece al sitio web de http://chir.ag/projects/geoiploc/ solo agregamos con un include esa librería a nuestro script y lo usamos de la siguiente manera:
include("geoiploc.php");
y tendremos disponibles las siguientes funciones:
$codigo = getCountryFromIP($ip); // código del país por defecto $codigo = getCountryFromIP($ip, "code"); // código del país (por defecto y opcional es lo mismo de arriba) $abrev = getCountryFromIP($ip, "AbBr"); // Abreviatura del país $nombre = getCountryFromIP($ip, " NamE"); //Nombre del país
Este es el script, pero recuerden bajar el geoiploc.php y poner ambos archivos juntos
<? error_reporting(E_ALL & ~E_NOTICE); include("geoiploc.php"); // Incluimos el Archivo bajado para localizar el país if (empty($_POST['checkip'])) //Envío Solicitud? { $ip = $_SERVER["REMOTE_ADDR"]; //si llego desde otra ubicación o con url directa, toma la IP del cliente } else { $ip = $_POST['checkip']; //si mando una IP desde la misma pagina } ?> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Identificación de país - El Código Fuente </title> </head> <body> <table border="1" width="100%" align="center"> <tr> <td colspan="2">Verificación de País usando la IP</td> </tr> <tr> <td>La IP es: </td><td> <?php echo($ip); ?> </td> </tr> <tr> <td>El Pais es : </td><td><?php echo(getCountryFromIP($ip));?></td> </tr> <tr> <td>El Codigo del Pais : </td><td><?php echo(getCountryFromIP($ip, "code"));?></td> </tr> <tr> <td>La Abreviacion del Pais es : </td><td><?php echo(getCountryFromIP($ip, "AbBr"));?></td> </tr> <tr> <td>El Nombre del Pais : </td><td><?php echo(getCountryFromIP($ip, " NamE"));?></td> </tr> <tr> <td>Ingrese una IP para verificar</td><td> <FORM action="" method="post"> <INPUT type="text" id="checkip" name="checkip" value="<?php echo($ip); ?>" /> <INPUT type="submit" value="Verificar" /> </FORM> </td> </tr> <tr> <td colspan="2" align="center">ElCódigoFuente.com</td> </tr> </table> </body> </html>
Si tienen problemas, aquí les dejo el script que lo pueden subir a su sitio web, y el zip ya incluye el archivo geoiploc.php
Hola, he subido el script a mi sitio web, pero me sale este error:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 31457280 bytes) in /home/…/public_html/…/geoiploc.php on line 859 —- que puedo hacer ??
Me gustaria saber donde incluyo esto, ya que el index no es en wordpress