我想获得服务器的当前系统区域设置(比如windows 7 os)。这是为了确保不同的语言设置在PHP中使用不同的代码部分 但是,我找不到任何这样做的API 谁能告诉我这个功能的名字?
答案 0 :(得分:0)
在考虑了问题和我所拥有的特定设置之后,我想出了这个解决方案,这似乎有效。请注意,我无法控制需要支持的语言:将转换文件放入预定义的位置,并由其他人安装系统区域设置。在运行时,如果存在相应的转换文件并且安装了系统区域设置,我需要支持特定语言。这让我得到了这个解决方案:
使用以下功能
function getLocale($lang)
{
$locs = array();
exec('locale -a', $locs);
$locale = 'en-IN';
foreach($locs as $l)
{
$regex = "/$lang\_[A-Z]{2}$/";
if(preg_match($regex, $l) && file_exists(TRANSROOT . "/$lang.php"))
{
$locale = $l;
break;
}
}
return $locale;
}
如果我无法解析语言环境,我将默认为en-IN,因为我确定已经安装了en-IN。
答案 1 :(得分:0)
Gags上面的最佳答案。 如果您想要当前请求中的accept-language:标头的内容(如果有),请使用:
$_SERVER['HTTP_ACCEPT_LANGUAGE']