Scripts — Full Featured PHP Browser Detection & OS Detection
Our PHP browser detection scripts are all tested on every browser we have access to: Opera, Mozilla (and other Gecko engine browsers), Firefox/Iceweasel, Netscape, to MSIE, Galeon, K-Meleon, Lynx, Safari/Chrome (and other WebKit engine browsers), KHTML / Konqueror, and Mac IE browsers like IE 5.1 and 5.2. The full version also detects most spiders, and an assortment of uncommon browsers and other user agents. They are being used in one form or another on our sites.
If you don't need the complex browser detection script, you can get two simpler versions here.
If you need to test your code or site, use Chris Pederick's Firefox User-Agent Switcher Extension along with our import User-Agent List (download xml file).
Current features: Firefox/Mozilla, IE, Safari (and other AppleWebKit browsers, Chrome, Epiphany), Konqueror, and Opera browser version detection on our full featured PHP browser/os detection script, as well as OS version detection, OSX, Linux/Unix, including release/distro name. Mobile detection updated and is now fairly useful.
Script Download
Download: complex, full featured PHP Browser Detection
Current Version: 5.3.8
File Last Modified: February 25, 2010. 19:14:09 pm
Your Computer Box
Download: 'Your Computer' Box Script
Current Version: 1.2.3
File Last Modified: February 25, 2010. 13:03:28 pm
PHP Language Detection
Your Computer
Operating System:
Current Browser / UA:
System Language
JavaScript
PHP Browser Detection
Most Recent Script Updates
Also view the full update history page if you want to check how it has changed.
Version 5.3.7
Fixed Opera Version for > 9.80
Opera has decided to freeze their version numbers to 9.8x (or 9.9x) for all future releases due to poorly written browser sniffers (not this one, of course!!).
The browser detector now handles that, and returns the correct version, for example 10.10.
Version 5.3.3
New Mobile Device Data Type: $version_number
This adds array key 7 to the $mobile_data array, and returns, if found, the version number of the mobile device, for example:
Device Type: blackberry v: 9700
Also added in actual OS X version number, like 10.4.3, return. Defaults to 10 for OS X for $os_number, but if the more exact number is found in the user agent, it will return that instead.
If you are wanting to do math comparisons, simply process the number to make it decimal instead of two dot:
sprintf("%02.1f", $os_number );
will return either 10.0 or 10.4, which can then be compared with arithmetic.
Version 5.3.2
script execution time parameter: run_time
If you want to test what the various second parameter switches do (hint, they make a huge difference) in terms of general script run time, you can now get this information (PHP 5 or greater required, script will test and return null if old PHP).
Here's a sample, using the 'full' data return:
browser_detection('full', '') = 0.00116205
browser_detection('full', '1') = 0.00053501
browser_detection('full', '2') = 0.00043797
browser_detection('full', '3') = 0.00029707
Available as a standalone parameter, 'run_time', as full associative array key: 'run_time', and as 'full' array key 15.
Note that the timer resets itself every request, and since the data arrays are loaded the first run through, the next run throughs are very fast, eg: 0.00005007 seconds.
About the Browser Detection Scripts
All our php browser detection scripts have been thoroughly tested, although of course no script is ever perfect, so they will be modified as time goes by. There is a 'last modified by' date scripted in next to each download so you can see if it has changed from the version you have. Please post any problems with the detection script in our web programming forum. If you do find something wrong with a script, we'll get it fixed and post an updated version as soon as we can get to it.
The full featured PHP browser detection script also include a OS detection. It currently identifies most Windows, Mac OS X, Linux, Unix, and a variety of others. Also allows you to test for all the major search engine spiders, site downloaders, and http libraries.
Please Link to our Site
It would really help us out, and help other people find this information, if you could add a link to our site in exchange for these scripts. Thanks.
<a href="http://techpatterns.com/downloads/php_browser_detection.php"> PHP Browser Detection</a>
About the Full Featured Browser Detection PHP Script
Configuration information
Download the text file of the browser detection script and run either as an include or insert directly into your PHP code. This is the more complex version of our PHP browser detection script. Due to the size of the script, we recommend optimizing the use of the browser detector. You can find one way to optimize the running of the script here in our tech forums.
This script uses arrays to hold both browser and OS versions. It checks these against the navigatorUserAgent() strings, then packs either os or browser variables with the proper browser and os information. It also features several different test return conditions which should cover most situations you run across.
The main advantages of this browser detection script is that it will not be fooled by Opera or Safari, no matter how Opera is set to identify itself. It can also be used to deliver browser specific CSS stylesheets to the page depending on what browser is requesting the page. Since this is run on the server side, it doesn't require client side Javascripting to be enabled to function.
This code is more or less what we use for all our websites, in one form or another, when we need to set browser CSS and other coding particulars.
Currently this script identifies the following specific browsers: Opera, Internet Explorer 4, Internet Explorer, Mozilla/Netscape Gecko based browsers, Netscape 4.x, Konqueror, Safari. It id's Linux, Mac, most of the main Unix flavors, Windows NT, Windows regular. It is easy to add more browsers and OS's if required.
This small sample script gives some examples of how the detector can be used, in the first case it will print out the browser number, the browser, the operating system, and the operating system number or version (in the case of Unix) if available. The second example shows how you could use it in any of your scripts where knowing what browser is helpful.
<?php
echo ( browser_detection( 'browser_number' ) .'<br>'.
browser_detection( 'browser_working' ) .'<br>'.
browser_detection( 'os' ) .'<br>'.
browser_detection( 'os_number' ) );
?>
Outputs (browser number, browser name, os, os number):
1.5
moz
nt
5.1
<?php
if ( ( browser_detection( 'browser_working' ) == 'ie' )
&&
( browser_detection( 'browser_number' ) >= 5 ) )
{
echo 'it is Internet Explorer ' .
browser_detection( 'browser_number' );
// or anything else you want to happen of course
}
?>
This is your browser useragent string:
CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Manual Downloads
If for some reason the above download links didn't work, you can download these scripts here:
- Full Featured Javascript Browser detection
- Simple Javascript Browser detection
- PHP Browser detection (full featured)
- PHP Browser detection (simplified version of the above)
- PHP Browser detection (if conditional)
- 'Your Computer Information'
- PHP Language Detection