crlang/browser.php

PHP类,用于检测用户的浏览器。PHP类来检测用户的浏览器。

v2.0.0 2021-03-30 03:18 UTC

This package is not auto-updated.

Last update: 2024-09-25 17:50:02 UTC


README

Build Status

通过用户代理在PHP级别帮助检测用户的浏览器和平台

中文简介

安装

您可以使用 Composer 将此库添加为本地、按项目依赖项到您的项目中

composer require crlang/browser.php

如果您仅在开发过程中需要此库,例如运行您的项目测试套件,那么您应该将其添加为开发时依赖项

composer require --dev crlang/browser.php

典型用法

$browser = new Browser();
echo $browser->getBrowser();

浏览器检测

此解决方案可以识别以下浏览器,并对版本进行最佳猜测

  • Opera (Browser::BROWSER_OPERA)
  • WebTV (Browser::BROWSER_WEBTV)
  • NetPositive (Browser::BROWSER_NETPOSITIVE)
  • Edge (Browser::BROWSER_EDGE)
  • 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)
  • UC浏览器 (Browser::BROWSER_UCBROWSER)
  • Firefox (Browser::BROWSER_FIREFOX)
  • Mozilla (Browser::BROWSER_MOZILLA)
  • Palemoon (Browser::BROWSER_PALEMOON)
  • curl (Browser::BROWSER_CURL)
  • wget (Browser::BROWSER_WGET)
  • Amaya (Browser::BROWSER_AMAYA)
  • Lynx (Browser::BROWSER_LYNX)
  • Safari (Browser::BROWSER_SAFARI)
  • Playstation (Browser::BROWSER_PLAYSTATION)
  • iPhone (Browser::BROWSER_IPHONE)
  • iPod (Browser::BROWSER_IPOD)
  • Google Android(Browser::BROWSER_ANDROID)
  • Google Chrome(Browser::BROWSER_CHROME)
  • GoogleBot(Browser::BROWSER_GOOGLEBOT)
  • Yahoo! Slurp(Browser::BROWSER_SLURP)
  • W3C 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)

测试

使用PHPUnit对tests/lists中可用的已知用户代理进行测试。每个文件使用以下字段以制表符分隔

用户代理,用户代理类型,浏览器,版本,操作系统,操作系统版本

例如

Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16	Browser	Opera	12.16	Linux	Linux
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1   Browser	Chrome	14.0.835.186	Macintosh	OS X		10_7_2

可以使用phpunit运行测试

vendor/phpunit/phpunit/phpunit