horde/browser

Browser detection library

Maintainers

Package info

github.com/horde/Browser

Homepage

pkg:composer/horde/browser

Statistics

Installs: 3 308

Dependents: 10

Suggesters: 1

Stars: 1

v3.0.0RC1 2026-05-19 00:00 UTC

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