PHP cкрипт для определения браузера

Определение типа и версии браузера, который использует пользователь, будет очень полезным для веб приложения, которое задействует новейшие технологии. Обладая такой информацией можно информировать пользователя о новых возможностях, которые он получит после апгрейда своего браузера. Например, можно предупреждать пользователя, который использует для просмотра странице IE6, о том, что PNG изображения будут отображаться с ошибками.

Для больших приложений использование данного скрипта может быть совсем не выгодным. Но для маленьких и юрких веб проектов или для личных сайтов дополнительное функционирование может стать большим плюсом.

Скрипт определяет следующие операционные системы:

  • Windows (Browser::PLATFORM_WINDOWS)
  • Windows CE (Browser::PLATFORM_WINDOWS_CE)
  • Apple (Browser::PLATFORM_APPLE)
  • Linux (Browser::PLATFORM_LINUX)
  • Android (Browser::PLATFORM_ANDROID)
  • OS/2 (Browser::PLATFORM_OS2)
  • BeOS (Browser::PLATFORM_BEOS)
  • iPhone (Browser::PLATFORM_IPHONE)
  • iPod (Browser::PLATFORM_IPOD)
  • BlackBerry (Browser::PLATFORM_BLACKBERRY)
  • FreeBSD (Browser::PLATFORM_FREEBSD)
  • OpenBSD (Browser::PLATFORM_OPENBSD)
  • NetBSD (Browser::PLATFORM_NETBSD)
  • SunOS (Browser::PLATFORM_SUNOS)
  • OpenSolaris (Browser::PLATFORM_OPENSOLARIS)
  • iPad (Browser::PLATFORM_IPAD)

Скрипт определяет следующие браузеры и их версии:

  • Opera (Browser::BROWSER_OPERA)
  • WebTV (Browser::BROWSER_WEBTV)
  • NetPositive (Browser::BROWSER_NETPOSITIVE)
  • Internet Explorer (Browser::BROWSER_IE)
  • Pocket Internet Explorer (Browser::BROWSER_POCKET_IE)
  • Galeon (Browser::BROWSER_GALEON)
  • Konqueror (Browser::BROWSER_KONQUEROR)
  • iCab (Browser::BROWSER_ICAB)
  • OmniWeb (Browser::BROWSER_OMNIWEB)
  • Phoenix (Browser::BROWSER_PHOENIX)
  • Firebird (Browser::BROWSER_FIREBIRD)
  • Firefox (Browser::BROWSER_FIREFOX)
  • Mozilla (Browser::BROWSER_MOZILLA)
  • Amaya (Browser::BROWSER_AMAYA)
  • Lynx (Browser::BROWSER_LYNX)
  • Safari (Browser::BROWSER_SAFARI)
  • iPhone (Browser::BROWSER_IPHONE)
  • iPod (Browser::BROWSER_IPOD)
  • Google’s Android(Browser::BROWSER_ANDROID)
  • Google’s Chrome(Browser::BROWSER_CHROME)
  • GoogleBot(Browser::BROWSER_GOOGLEBOT)
  • Yahoo!’s Slurp(Browser::BROWSER_SLURP)
  • W3C’s Validator(Browser::BROWSER_W3CVALIDATOR)
  • BlackBerry(Browser::BROWSER_BLACKBERRY)

Типовое использование скрипта:

$browser = new Browser();
if( $browser->getBrowser() == Browser::BROWSER_FIREFOX && $browser->getVersion() >= 2 ) {
	echo 'Вы используете браузер FireFox версии 2 или выше';
}

Оригинальный сайт разработчика скрипта.

Авторизоваться и Скачать

5 последних добавленных файлов в рубрике"Скрипты"

или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете
  • 11 Февраля 2011 13:31
    truehazard
    а ну это что типо нужно каждый браузер проверять это же сколько кода ?
    • 11 Февраля 2011 14:00
      terehovk
      ага!
    • 11 Февраля 2011 14:23
      sigrosigro
      зачем все...только самые основные..как по мне так полезно.. Спасибо автору
  • 11 Февраля 2011 15:51
    Руслан Димитриев
    видал уже...
  • 11 Февраля 2011 16:42
    notbot
    Зачем?
  • 11 Февраля 2011 16:43
    Overlord888
    бесполезный скрипт...
    • 12 Февраля 2011 09:57
      Юрий Юшин
      Если конкретно Вам негде его применить, это ещё не значит, что он бесполезный :)
      • 12 Февраля 2011 11:13
        Overlord888
        бесполезный он потому, что каждый программист может сам в пару строчек определить что это за браузер.
        • 31 Октября 2014 16:33
          MKFK52
          не в программисте дело, суть в том, что бы программа сама определила что за браузер и подсунула нужный контент
  • 13 Февраля 2011 04:19
    zorg84
    скажите куда его вставлять
    • 13 Февраля 2011 22:21
      Asped
      В то место где хочешь показать пользователю его браузер.
  • 13 Февраля 2011 22:21
    Asped
    Нужно определять и искоренять IE старых версий. :) У меня например стоит js скрипт определяющий ( любую версию IE xD ) и предлагает скачать другие браузеры если юзер зашел с ИЕ.
    • 19 Августа 2011 15:44
      prologos
      <!--[if IE 6]> <meta http-equiv="refresh" content="0; url=http://webshpora.ucoz.ru/IE6.htm"> <![endif]--> лучше так
  • 14 Февраля 2011 19:12
    Overlord888
    Если мне не изменяет память, то пишется броузер, а не браузер.
    • 15 Мая 2011 08:25
      Ильсур Вячеславович
      http://www.opera.com/ Надстройки для брAузера
  • 1 Июня 2011 22:29
    NoName_emaNoN
    Полезный скрипт, правда нужно внести небольшую поправку
    584: if( preg_match('/Version\/(10.*)$/',$resultant,$matches) ) {
    заменить на:
    584: if( preg_match('/Version\/(.*)$/',$resultant,$matches) ) {
    Потому что Опера уже 11 версии есть, и он определял не правильно =)
  • 24 Ноября 2011 06:05
    San4o
    фух, то что надо :) сколько в гуугле искал, не нашёл. вставил, работает. Спасибо :)
  • 25 Января 2012 21:22
    СашаЖуков
    а как вообще запретить опере открывать мой сайт
    • 10 Апреля 2013 20:20
      MsiDog
      вот я мучался у меня верстка в последней версии оперы вообше поплыла (везде нормально) вот мой код для WP я индекс перенес на index2.php а код этот всунул в индекс и потом сделал маленькую логику.
      $browser = new Browser();
      if( $browser->getBrowser() != Browser::BROWSER_OPERA && $browser->getVersion() >= 2 ) {	include('./index2.php');
      }
      elseif( $browser->getBrowser() == Browser::BROWSER_OPERA && $browser->getVersion() >= 2 ) {	echo 'Вы используете браузер Opera версии 2 или выше';
      }
      
      и все все браузеры работают а опера выдает сообщение =) осталось его красиво оформить и вуаял
  • 16 Февраля 2012 03:21
    Login99
    Нефурычит скрипт у меня.
    • 10 Апреля 2013 20:20
      MsiDog
      руки ровнять =)
  • 29 Июня 2012 07:22
    Олег Телегин
    Ошибка!!! Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in m:\home\localhost\www\site.ru\browser.php on line 136
    • 10 Апреля 2013 20:20
      MsiDog
      где то что то потеряли
  • 15 Мая 2013 11:15
    Kanibal
    Не гоните беса с такими скриптами... $_SERVER['HTTP_USER_AGENT']; ещё никто не отменял!
    • 20 Января 2014 03:31
      anri_ttt
      конечно содержимое Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68 очень может помочь определить какой браузер)
    • 17 Декабря 2014 11:42
      ketovpavel
      anri_ttt Полностью с Вами согласен! Используем функцию php: strpos Ищем в строке $user_agent_browser соответствующие символы и сравниваем со своими, и всё! Вот скрипт который определяет актуальные версии по крайней мере на данный момент:
      // Определяем Браузер пользователя	$user_agent_browser = $_SERVER["HTTP_USER_AGENT"];	if (strpos($user_agent_browser, "Firefox") !== false) $user_browser = "Firefox";	elseif (strpos($user_agent_browser, "OPR") !== false) $user_browser = "Opera";	elseif (strpos($user_agent_browser, "Chrome") !== false) $user_browser = "Chrome";	elseif (strpos($user_agent_browser, "MSIE") !== false) $user_browser = "Internet Explorer 7";	elseif (strpos($user_agent_browser, "Trident") !== false) $user_browser = "Internet Explorer";	elseif (strpos($user_agent_browser, "Safari") !== false) $user_browser = "Safari";	else $user_browser = "Неизвестный";	echo 'Ваш браузер: '.$user_browser.'';
      
  • 23 Мая 2013 11:20
    savastr
    ссылка не работает
  • 20 Января 2014 03:28
    anri_ttt
    Не срабатывает на Opera, пишет что это хром версии 31.0.1650.63 ... (((
  • 4 Июля 2015 10:13
    natainfiniti
    Скачала исходник, запустила, чистый лист =( Тоже не показывает ничего...
^ Наверх ^