Podés obtener el país y otros datos mediante la ip, pero eso no tiene que ver con geolocalizar al usuario sino a su ISP. Si eso te sirve, tenés ejemplos como este, que usan una base de datos .dat:
https://github.com/maxmind/geoip-api-php, o podés buscar algún webservice.