Php/docs/function.get-browser
get_browser
(PHP 4, PHP 5, PHP 7)
get_browser — Tells what the user's browser is capable of
Description
get_browser
([ string $user_agent
[, bool $return_array
= FALSE
]] ) : mixed
Attempts to determine the capabilities of the user's browser, by looking
up the browser's information in the browscap.ini
file.
Parameters
user_agent
The User Agent to be analyzed. By default, the value of HTTP User-Agent header is used; however, you can alter this (i.e., look up another browser's info) by passing this parameter.
You can bypass this parameter with a
NULL
value.return_array
If set to
TRUE
, this function will return an array instead of an object.
Return Values
The information is returned in an object or an array which will contain
various data elements representing, for instance, the browser's major and
minor version numbers and ID string; TRUE
/FALSE
values for features
such as frames, JavaScript, and cookies; and so forth.
The cookies
value simply means that the browser
itself is capable of accepting cookies and does not mean the user has
enabled the browser to accept cookies or not. The only way to test if
cookies are accepted is to set one with setcookie(),
reload, and check for the value.
Examples
Example #1 Listing all information about the users browser
<?phpecho $_SERVER['HTTP_USER_AGENT'] . "\n\n";$browser = get_browser(null, true);print_r($browser);?>
The above example will output something similar to:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3 Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [cssversion] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => )
Notes
Note:
In order for this to work, your browscap configuration setting in
php.ini
must point to the correct location of thebrowscap.ini
file on your system.
browscap.ini
is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.While
browscap.ini
contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.