Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:

Error. Page cannot be displayed. Please contact your service provider for more details. (7)


Определение браузера и ОСи клиента

Поиск:
Код

function detect_browser($HTTP_USER_AGENT) {
// Браузер и его версия
 if (eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Opera";
  $browser[version] = $match[2];
 }
 elseif (eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Konqueror";
  $browser[version] = $match[2];
 }
 elseif (eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Lynx";
  $browser[version] = $match[2];
 }
 elseif (eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Links";
  $browser[version] = $match[2];
 }
 elseif (eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "MSIE";
  $browser[version] = $match[2];
 }
 elseif (eregi("(netscape6)/(6.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Netscape";
  $browser[version] = $match[2];
 }
 elseif (eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
  $browser[name] = "Netscape";
  $browser[version] = $match[2];
 }
 elseif (eregi("mozilla/5", $HTTP_USER_AGENT)) {
  $browser[name] = "Netscape";
  $browser[version] = "Unknown";
 }
 elseif (eregi("w3m", $HTTP_USER_AGENT)) {
  $browser[name] = "w3m";
  $browser[version] = "Unknown";
 }
 else {
  $browser[name] = "Unknown";
  $browser[version] = "Unknown";
 }

// Операционная система
 if (eregi("linux", $HTTP_USER_AGENT)) $browser[os] = "Linux";
 elseif (eregi("win32", $HTTP_USER_AGENT)) $browser[os] = "Windows";
 elseif ((eregi("(win)([0-9]{2})", $HTTP_USER_AGENT, $match)) || (eregi("(windows) ([0-9]{2})", $HTTP_USER_AGENT, $match))) $browser[os] = "Windows ".$match[2];
 elseif (eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[2];
 elseif (eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[3];
 elseif (eregi("mac", $HTTP_USER_AGENT)) $browser[os] = "Macintosh";
 elseif (eregi("(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "SunOS ".$match[2];
 elseif (eregi("(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "BeOS ".$match[2];
 elseif (eregi("freebsd", $HTTP_USER_AGENT)) $browser[os] = "FreeBSD";
 elseif (eregi("openbsd", $HTTP_USER_AGENT)) $browser[os] = "OpenBSD";
 elseif (eregi("irix", $HTTP_USER_AGENT)) $browser[os] = "IRIX";
 elseif (eregi("os/2", $HTTP_USER_AGENT)) $browser[os] = "OS/2";
 elseif (eregi("plan9", $HTTP_USER_AGENT)) $browser[os] = "Plan9";
 elseif (eregi("unix", $HTTP_USER_AGENT) || eregi("hp-ux", $HTTP_USER_AGENT)) $browser[os] = "Unix";
 elseif (eregi("osf", $HTTP_USER_AGENT)) $browser[os] = "OSF";
 else $browser[os] = "Unknown";

 return $browser;
}

$browser = detect_browser($HTTP_USER_AGENT);
echo "Браузер: ".$browser[name]." ".$browser[version]."\nОперационная система: ".$browser[os];
Автор: Cepera
Сайт: http://www.cepera.org/






Просмотров: 3408

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную