Browser detection library with HTTP utilities.
composer require horde/browseruse Horde\Browser\Browser;
$browser = new Browser($_SERVER['HTTP_USER_AGENT']);
echo $browser->getBrowserName(); // "chrome"
echo $browser->getMajorVersion(); // 120
echo $browser->getPlatformName(); // "windows"
$browser->mobile(); // falseuse 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');LGPL-2.1-only