 
Use the object returned by get_browser( ) to determine a browser's capabilities:
$browser = get_browser( );
if ($browser->frames) {
    // print out a frame-based layout
} elseif ($browser->tables) {
    // print out a table-based layout
} else {
    // print out a boring layout
}The get_browser( ) function examines the environment variable $_ENV['HTTP_USER_AGENT'] (set by the web server) and compares it to browsers listed in an external browser capability file. Due to licensing issues, PHP isn't distributed with a browser capability file. The "Obtaining PHP" section of the PHP FAQ (http://www.php.net/faq.obtaining) lists http://www.cyscape.com/asp/browscap/ and http://www.amrein. com/apps/page.asp?Q=InowDownload as sources for a browser capabilities file, and there is also one at http://asp.net.do/browscap.zip.
Once you download a browser capability file, you need to tell PHP where to find it by setting the browscap configuration directive to the pathname of the file. If you use PHP as a CGI, set the directive in the php.ini file:
browscap=/usr/local/lib/browscap.txt
If you use Apache, you need to set the directive in your Apache configuration file:
php_value browscap "/usr/local/lib/browscap.txt"
Many of the capabilities get_browser( ) finds are shown in Table 8-1. For user-configurable capabilities such as javascript or cookies though, get_browser( ) just tells you if the browser can support those functions. It doesn't tell you if the user has disabled the functions. If JavaScript is turned off in a JavaScript-capable browser or a user refuses to accept cookies when the browser prompts him, get_browser( ) still indicates that the browser supports those functions.
| Property | Description | 
|---|---|
| platform | Operating system the browser is running on (e.g., Windows, Macintosh, UNIX, Win32, Linux, MacPPC) | 
| version | Full browser version (e.g., 5.0, 3.5, 6.0b2) | 
| majorver | Major browser version (e.g., 5, 3, 6) | 
| minorver | Minor browser version (e.g., 0, 5, 02) | 
| frames | 1 if the browser supports frames | 
| tables | 1 if the browser supports tables | 
| cookies | 1 if the browser supports cookies | 
| backgroundsounds | 1 if the browser supports background sounds with <embed> or <bgsound> | 
| vbscript | 1 if the browser supports VBScript | 
| javascript | 1 if the browser supports JavaScript | 
| javaapplets | 1 if the browser can run Java applets | 
| activexcontrols | 1 if the browser can run ActiveX controls | 
Documentation on get_browser( ) at http://www.php.net/get-browser.
 
Copyright © 2003 O'Reilly & Associates. All rights reserved.