1

我想确定访问者的区域。我的网站有 4 种语言版本,我想检测访问者是否从英语国家或俄语国家或阿拉伯语或西班牙语国家访问我的网站。最好的方法是什么?

4

3 回答 3

1

这就是我们在脚本中用来进行类似检测的方法:

function get_preferred_lang() {
    if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
        preg_match_all('#([a-z-]+) *(?:; *q=([0-9.]+))?#', strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]), $matches);
        $accept = array_combine($matches[1], $matches[2]);
        foreach ($accept as $key => $val)
        $accept[$key] = $val == '' ? 1.0 : (float) $val;
        arsort($accept);
        return substr(array_shift(array_keys($accept)),0,2); 
      } else {
        return 'unknown';
    }
}
于 2012-10-12T11:09:38.583 回答
0

请使用 MaxMind API for PHP:

指示

下载

于 2012-10-12T11:20:37.213 回答
-1

您可以使用$_SERVER['REMOTE_ADDR'];获取用户 IP 地址并在此基础上使用此链接根据您的要求进一步进行GEOIP

于 2012-10-12T11:10:22.507 回答