Hola,
No se bien como sería en PHP, pero creo que te sería útil esta url:
http://www.countryipblocks.net/.
Las IPs están distribuidas por país, fijate que IP es y usá un sitio como ese (o la idea) para sacar el país.
El tema del rendimiento tendrías que verlo.
Espero te sirva de algo,
Suerte
Saludos