2010-02-17 2 views
2

У меня есть перенаправление двух страниц в моем index.php. Страницы example_system_os.php и example_mobile_os.php.Определить клиентскую ОС в PHP

Как определить операционную систему пользователя в PHP?

+0

Возможно, полезная информация - вы можете проверить, какой браузер используется в зависимости от способа выполнения JavaScript. И есть крошечная вероятность того, что этот метод применим для ОС, из-за незначительных различий в версии браузера на разных ОС. – Bakudan

ответ

5

Функция get_browser может быть использована для извлечения пары информации HTTP-заголовка User-Agent, отправленного браузером.

Среди этих сведений, по-видимому, есть некоторые данные об операционной системе, на которой работает браузер, т. Е. О клиентской ОС.


Цитирование пример, приведенный на странице руководства по get_browser:

Array 
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ 
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* 
    [parent] => Firefox 0.9 
    [platform] => WinXP 
    [browser] => Firefox 
    [version] => 0.9 


Но обратите внимание, что заголовок User-Agent HTTP посылается клиентом, что означает:

  • Он может быть отключен
  • Это может быть подделка (т.е. вы можете получить в нем какой-то мусор ^^)
+0

я запустил эту функцию браузера, я нашел один массив, который ismobiledevice, ut в моей системе просто показывает пустой массив ... – Bharanikumar

+0

i вещь на моем мобильном устройстве, показывающая 1 Должен ли я использовать, что-то вроде, когда этот массив является одним, а затем перенаправлять страницу на example_mobile_os.php – Bharanikumar

3

Вы можете разобрать строку $_SERVER['HTTP_USER_AGENT'] для различных деталей платформы, но я не уверен, что это детерминированный подход, поскольку его можно легко подделать.

+0

или не существует, например. при доступе через CLI – Gordon

Смежные вопросы