2009-03-06 40 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”)您支持并采用产生错误的最低丢弃语言环境。

相关问题