Want to look up IP addresses to a geographical location? Firstly, download maxmind_geoip.php and GeoIP binary database from MaxMind. I copied them to a universal location on a server so I can use it across applications.

require_once '/usr/local/share-php/maxmind_geoip.php';

$gi = geoip_open("/usr/local/share-php/GeoIP.dat",GEOIP_STANDARD);

$location = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);

geoip_close($gi);

There we go 4 lines.

$location will return the 2 letter ISO country code for that country, for you to do whatever you want with!

Why not combine it with the Flag Icon Set from Fam Fam Fam? Here’s how I did it

<img src="images/flags/'.strtolower($location).'.png" alt="'.$location.'" title="'.$location.'" />

You could even use the PECL extenstion or the PEAR extenstion if you’re feeling fancy.