2009-03-06 38 views

回答

4

首先,你需要找到你的訪問者的IP地址。它將位於$ _SERVER ['REMOTE_ADDR']全局變量中。然後,您可以將這個IP視爲IP到國家/地區映射的數據庫,以獲取IP的國家/地區代碼。

這種方法不是100%準確的,但對大多數用途來說「足夠好」,更重要的是它很快。如果您期望高流量,您可能需要將國家代碼緩存到Cookie中以避免重複查找。

一個這樣的映射可以在這裏找到: http://software77.net/cgi-bin/ip-country/geo-ip.pl

一個PHP類,需要一個IP地址以及使用捆綁的映射文件返回國家代碼:出現 http://www.phpclasses.org/browse/package/2363.html

1

如果你真的想用戶的位置,關鍵字是geolocation

但是,爲了您的目的,您只需檢查$_SERVER["ACCEPT_LANGUAGE"]syntax有點複雜。幸運的是,幾乎每個客戶都會做本來應該做的事情,並訂購首選位置。因此,計算stripos($_SERVER["ACCEPT_LANGUAGE"], $lang)所有區域設置$lang(如「en-us」)您支持並採用產生錯誤的最低丟棄語言環境。

相關問題