views:

366

answers:

5

On my Wordpress blog, I want to show additional content to people from Finland on all pages. Very much like the Feedback button at the left edge of the screen on printfriendly.com. How can I achieve this most reliably using PHP?

+2  A: 

My suggestion would be to use the PHP GeoIP functions to determine the users location based on IP, and serve appropriate content based on that.

More information on GeoIP can be found here.

Noctrine
A: 

You have a few bets you can try:

  • convert the IP to a geographic location (PEAR: Net_GeoIP)
  • check the requested language that is used in the browser, and use that. Problem is, a lot of people just have 'english' setup, so this won't always work.

Hope this helps!

ylebre
A: 

Here is a pointer to MaxMind GeoIP Country Database. http://www.maxmind.com/app/country. It's about $50.00 and comes with a PHP library for accessing the information.

gahooa
+1  A: 

In addition to the other answers (GeoIP), you may try to analyze the Accept-Language header field and serve the content to users that accept finnish language.

You can modify the following function to parse Accept-Language header in PHP:

Maciej Łebkowski
+1  A: 

As yet another alternative, you can download one of the SQL databases here and use it to resolve an IP address to a location:

http://www.ipinfodb.com/ip_database.php

Also, they offer an API that does the same thing, but this may not be optimal if you're getting a lot of traffic.

Peter