Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение браузера и ОСи клиента 
:(
    Опции темы
Mal Hack
Дата 20.5.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Код

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];

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.