PHP - Geolocalizar nombre ciudad según conexión

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 22 puestos en PHP (en relación al último mes)
Gráfica de PHP

Geolocalizar nombre ciudad según conexión

Publicado por Dario (5 intervenciones) el 15/03/2017 11:17:17
Buenos dias,

Llevo un varias horas buscando alguna solución sencilla para que me imprima, con una variable, el nombre de la ciudad desde donde te conectas.

$ciudad = "Barcelona";
Podría ser según tu IP o por geolocalización de Google API.

Pero no he encontrado ninguna solución.
En algunos Post he visto peticiones a archivos XML externos, que ya han dejado de funcionar.
¿Alguna solución sencilla?

Saludos y gracias anticipatamente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Geolocalizar nombre ciudad según conexión

Publicado por Miguel (218 intervenciones) el 15/03/2017 15:32:22
Hola, yo uso el servicio gratuito ipinfo.io. Puedes solicitar los datos en formato JSON algo así:

1
2
$result = file_get_contents("http://ipinfo.io/{ip}/json");
$data = json_decode($result);


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Geolocalizar nombre ciudad según conexión

Publicado por kip (877 intervenciones) el 15/03/2017 15:49:37
Hola, igual que arriba te coloco otra API gratuita para obtener lo que deseas:

https://freegeoip.net/

Allí te dan la documentación adecuada, su uso es simplísimo !

Ejemplo de un JSON:

https://freegeoip.net/json/8.8.8.8

Te retorna algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
    "ip":"8.8.8.8",
    "country_code":"US",
    "country_name":"United States",
    "region_code":"CA",
    "region_name":"California",
    "city":"Mountain View",
    "zip_code":"94035",
    "time_zone":"America/Los_Angeles",
    "latitude":37.386,
    "longitude":-122.0838,
    "metro_code":807
}

Y tal como te colocaron arriba puedes hacerle un json_decode y acceder al indice del array que te retorna con el nombre de la info que desees obtener en tu caso "city".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 22 puestos en PHP (en relación al último mes)
Gráfica de PHP

Geolocalizar nombre ciudad según conexión

Publicado por Dario (5 intervenciones) el 16/03/2017 12:47:49
Genial, lo voy a probar y os digo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar