O siteĀ http://ipinfo.io/ disponibiliza uma API pĆŗblica e gratuita (atĆ© 1000 requisiƧƵes/dia) para consulta de geolocalizaĆ§Ć£o.
O funcionamento Ć© bem simples, basta fazer uma requisiĆ§Ć£o usando file_get_contents(), curl ou o que mais a imaginaĆ§Ć£o desejar para o endreƧo http://ipinfo.io/XXX.XXX.XXX.XXX/json o retorno Ć© em json entĆ£o basta usar algum json parser pra trabalhar com os dados.
Exemplo:
curl ipinfo.io/8.8.8.8/geo { "ip": "8.8.8.8", "loc": "37.385999999999996,-122.0838", "city": "Mountain View", "region": "California", "country": "US", }
Dica do Giuseppe