IP Based Image

Hi, i have a banner area on my website where i would like to display an image. I would like to display a different image in the banner area, depending on a users’ location.

I have 4 different images:

01 - usa_banner.jpg (default)
02 - europe_banner.jpg
03 - uk_banner.jpg
04 - australia_banner.jpg

If a user views the site from a country outside of the top 4 areas, then i would like to display the default usa_banner.jpg image.

I have created my site using codeigniter. What is the best way to work out the IP ranges etc. Any advice on this would be greatly appreciated. Thanks in advance…

Hi there,

I would use a third party service to do this, such as http://www.hostip.info/

$country = '';

if (!empty($ip)) {
  $country = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);

Then you can use a simple if else statement to do the rest.


Cool, thanks… how reliable are these 3rd party services…

I’ve no direct experience of this one, but a quick WHOIS look-up, shows that the domain has been registered since 2003.
That’s quite a good sign.

Saying that, if you don’t pay for it, you can’t be disappointed if it goes away at some point …

I recommend http://php.net/manual/en/book.geoip.php

Has anyone ever used MaxMind?