Періодично перед будь-яким програмістом стає завдання точного визначення браузера, який використовує користувач. Сьогодні натрапив на чудовий клас для точного визначення браузера на PHP. Причому, він може визначити не тільки браузер користувача, але і визначити операційну систему користувача.
Визначення відбувається на основі заголовка User-Agent. Тобто по суті ніяких нових методик, але вражає кількість обумовлених браузерів. Також клас досить зручний у використанні.
Посилання на джерело: chrisschuld.com
Посилання на архів: Browser-1-9.zip
Приклад використання (з коментарів до класу):
$ Browser = new Browser ();
if ($ browser -> getBrowser () == Browser :: BROWSER_FIREFOX && $ browser -> getVersion ()> = 2) {
echo 'You have FireFox version 2 or greater';
}
На даний момент (23.12.2011 v1.9) визначаються наступні браузери:
- 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)
- 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)
І такі платформи:
- 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)
Погодьтеся, список вражає, чи не так?)