1

如何为美国人应用美式风格,为英国人应用英式风格?

例如,我想根据用户在我的站点中的位置更改标志。

4

3 回答 3

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

于 2009-03-06T00:57:55.060 回答
3

这称为地理定位: 我可以使用哪些服务来根据用户的 IP 地址查找用户的位置?

所有标记为地理位置的问题

于 2009-03-06T00:56:15.173 回答
1

如果你真的想要用户的位置,关键字是geolocation

但是,出于您的目的,您可以检查$_SERVER["ACCEPT_LANGUAGE"]. 语法有点复杂。幸运的是,几乎每个客户都会立即做应该做的事情并订购首选位置。因此,计算您支持的所有语言环境(如“en-us”)并采用最低的,丢弃产生错误的语言环境。stripos($_SERVER["ACCEPT_LANGUAGE"], $lang)$lang

于 2009-03-06T00:57:30.520 回答