Ближайшей будет переменная окружения %userprofile%
, которая содержит путь к каталогу текущего пользователя: C:\Users\Somebody
.
Вероятно, просто проблема чувствительности к регистру; eregi ('en-us'') или preg_match ('/en-us/i ') должны были взять его.
Однако просто поиск 'en-us'' в заголовке может понимать его превратно иногда, в особенности когда и американские и британские языки перечислены. “Принимать-язык” является на самом деле вполне сложным заголовком, для которого действительно Вы хотели бы надлежащий синтаксический анализатор.
Если у Вас есть PECL, целое задание уже сделано для Вас: http://www.php.net/manual/en/function.http-negotiate-language.php
Я не знаю, почему другие ответы идут для заголовка Агента пользователя; это является совершенно поддельным. Агент пользователя не получает мандат содержать значение языка в каком-то конкретном месте, и для некоторых браузеров (например, Opera, и некоторый незначительный браузер, который я никогда не слышал о названном 'Internet Explorer') он нисколько не будет. Где это действительно содержит язык, это будет языка, сборка браузера была установлена в, не предпочтительный язык пользователя, который является тем, на что необходимо смотреть. (Эта установка примет значение по умолчанию на язык сборки, но может быть настроена пользователем от предпочтений UI.)
Попробуйте это:
<?
if(preg_match('/en-us/i', $_SERVER['HTTP_USER_AGENT']))
include('http://page.com/us.txt');
else
include('http://page.com/uk.txt');
?>
Вероятно, более надежный способ сделать это состоит в том, чтобы выполнить regex на $_SERVER['HTTP_USER_AGENT']
строка.
<?php
if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT']))
include('http://page.com/us.txt');
else
include('http://page.com/uk.txt');
?>
Вы, как гарантируют, не получите допустимую и полезную строку агента пользователя, поэтому удостоверьтесь, что еще оператор содержит разумную альтернативу.