Categorías: Tutoriales

Cómo obtener geodatos de una dirección IP en PHP

Cuando desarrollamos servicios web, puede resultarnos de interés conocer geodatos de nuestro visitante: ciudad, región, código de área, etc. ¿Cómo averiguar estos datos usando PHP? Muy simple, haciendo una llamada a geoplugin.net.

Si hacemos una llamada del siguiente tipo (la dirección IP es la del servidor DNS de la UCO): http://www.geoplugin.net/php.gp?ip=150.214.110.3, obtenemos una salida en forma de cadena con un objeto de PHP serializado.

Por lo tanto nos limitaremos a:

  1. Hacer una llamada a dicho servicio web
  2. Descargar el resultado de la petición en forma de cadena con la función file_get_contents()
  3. Usar el proceso inverso a serializar para recuperar los diferentes valores

Podemos usar $_SERVER[‘REMOTE_ADDR’] para obtener la dirección IP de nuestro visitante. Aquí tenéis un ejemplo completo:

$meta = unserialize(file_get_contents('
http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$latitud = $meta['geoplugin_latitude'];
$longitud = $meta['geoplugin_longitude'];
$ciudad = $meta['geoplugin_city'];
F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace