horde/browser

Browser detection library

v3.0.0 2026-06-26 00:00 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

LGPL-2.1-only a442f69cc193d70b7501549c7fc7c50db979e974

  • Chuck Hagenbuch <chuck.woop@horde.org>
  • Michael Slusarz <slusarz.woop@horde.org>

file_uploadcapability_detection


README

Browser detection library with HTTP utilities.

Installation

composer require horde/browser

Usage

Browser Detection

use Horde\Browser\Browser;

$browser = new Browser($_SERVER['HTTP_USER_AGENT']);
echo $browser->getBrowserName(); // "chrome"
echo $browser->getMajorVersion(); // 120
echo $browser->getPlatformName(); // "windows"
$browser->mobile(); // false

HTTP Utilities (PSR-7)

use Horde\Browser\HttpUtils;

// From PSR-7 request
$utils = new HttpUtils($serverRequest);

// From superglobals
$utils = HttpUtils::fromGlobals();

// Validate file upload (supports nested arrays)
$utils->wasFileUploaded('photo');
$utils->wasFileUploaded('object[photo][new]');

// Get request info
$utils->getIPAddress();
$utils->usingSSLConnection();
$utils->getHTTPProtocol();
$utils->downloadHeaders('file.pdf', 'application/pdf');

Links

License

LGPL-2.1-only