Description
object
get_browser ( [string user_agent])
get_browser() attempts to determine the
capabilities of the user's browser. This is done by looking up
the browser's information in the browscap.ini
file. By default, the value of $_SERVER["HTTP_USER_AGENT"] is
used; however, you can alter this (i.e., look up another browser's
info) by passing the optional
user_agent parameter to
get_browser().
The information is returned in an object, 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.
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.
The following example shows how one might list all available
information retrieved about the user's browser.
Example 1. get_browser() example |
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "<hr />\n";
$browser = get_browser();
foreach ($browser as $name => $value) {
echo "<b>$name</b> $value <br />\n";
}
?>
|
The output of the above script would look something like this:
Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)<hr />
<b>browser_name_pattern:</b> Mozilla/4\.5.*<br />
<b>parent:</b> Netscape 4.0<br />
<b>platform:</b> Linux<br />
<b>majorver:</b> 4<br />
<b>minorver:</b> 5<br />
<b>browser:</b> Netscape<br />
<b>version:</b> 4<br />
<b>frames:</b> 1<br />
<b>tables:</b> 1<br />
<b>cookies:</b> 1<br />
<b>backgroundsounds:</b> <br />
<b>vbscript:</b> <br />
<b>javascript:</b> 1<br />
<b>javaapplets:</b> 1<br />
<b>activexcontrols:</b> <br />
<b>beta:</b> <br />
<b>crawler:</b> <br />
<b>authenticodeupdate:</b> <br />
<b>msn:</b> <br /> |
|
In order for this to work, your browscap configuration setting in
php.ini must point to the correct location of the
browscap.ini file on your system.
browscap.ini is not bundled with PHP but you
may find an up-to-date
browscap.ini file here. By default, the
browscap directive is commented out.
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.
Note:
On versions older than PHP 4.0.6, you will have to pass the
user agent in via the optional user_agent
parameter if the PHP directive
register_globals is off. In this case,
you will pass in $HTTP_SERVER_VARS['HTTP_USER_AGENT'].