GaretJax / phpbrowscap

Standalone replacement for php's native get_browser() function
MIT License
429 stars 69 forks source link

Browser Capabilities PHP Project

_Hacking around with PHP to have a better solution than get_browser()_

Build Status

Changes (new version - 2.0)

Please see changelog for a list of recent changes. (huge performance improvements!)

Introduction

The browscap.ini file is a database which provides a lot of details about browsers and their capabilities, such as name, versions, Javascript support and so on.

_Please note: browscap.ini was maintained by Gary Keith and is now maintained by RAD Moose. More information about the transfer of owners can be found here. Browscap.ini source files are currently available at a temporary location (http://tempdownloads.browserscap.com/). All the links in Browscap class are updated, but if you use custom links remember to change them!_

PHP's native get_browser() function parses this file and provides you with a complete set of information about every browser's details, But it requires the path to the browscap.ini file to be specified in the php.ini browscap directive which is flagged as PHP_INI_SYSTEM.

Since in most shared hosting environments you have not access to the php.ini file, the browscap directive cannot be modified and you are stuck with either and outdated database or without browscap support at all.

Browscap is a standalone class for PHP >=5.3 that gets around the limitations of get_browser() and manages the whole thing. It offers methods to update, cache, adapt and get details about every supplied user agent on a standalone basis. It's also much faster than get_browser() while still returning the same results.

Browscap is a Composer package.

Quick start

A quick start guide is available on the GitHub wiki, at the following address: https://github.com/GaretJax/phpbrowscap/wiki/QuickStart

Features

Here is a non-exhaustive feature list of the Browscap class:

Issues and feature requests

Please report your issues and ask for new features on the GitHub Issue Tracker at https://github.com/GaretJax/phpbrowscap/issues

Please report incorrectly identified User Agents and browser detect in the browscap.ini file on Google Groups here: https://groups.google.com/forum/#!forum/browscap

Please note that the Browscap class only parses and queries the browscap.ini database provided by RAD Moose (previously by Gary Keith). If a browser is wrongly identified or a results presents erroneous properties, please refer directly to the temporary browscap project homepage at: http://tempdownloads.browserscap.com/ or post your misidentified browser and User Agent at the Browscap Google Groups page: https://groups.google.com/forum/#!forum/browscap