Site Information

W3C Validation:

XHTML CSS

Site hosted by:

pair
networks

Scripts — Full Featured PHP Browser Detection & OS Detection

Our PHP browser detection scripts are all tested on every browser we have access to, from Opera 4-7, Mozilla 0.9-1.8, Firebird 0.6/0.7, Firefox 0.8, Netscape 2-4, 6.2, 7.0, to IE 4.x-6.x, Galeon, K-Meleon, Lynx, Safari / 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.

Current features: Mozilla, IE, Safari, Konqueror, and Opera browser version detection on our full featured PHP browser/os detection script, as well as Windows OS version detection, basic Mac OSX detector, Unix detection.

NEW!!! Omniweb Safari/Omniweb option

Your Computer Box

We've been asked how to implement the "Your Computer Information" box on this page, so we put it in a script.

Download: 'Your Computer' Box Script
Current Version: 1.0.7
File Last Modified: July 04, 2008. 13:18:45 pm

This script is a simplified version of the one to your left, for easy use.

PHP Language Detection

NEW! - PHP system language detection script. Check it out if that's something you need for your site.

Your Computer

Operating System:

(version unknown)

Current Browser / UA:

User Agent: Ccbot
Full Version Info: 1.0
XHTML support: Yes

System Language

Primary Language id: en-us
Primary Language:
English (United States)

JavaScript

At the request of the OmniWeb developers we've added improved OmniWeb detection, which also fixed a detection bug.
[ configuration info ]

Recent Improvements: Netscape 2,3,4 detection

The script has been changed to actually id the old netscape browsers correctly, for those who who really want the most accurate. This can be useful for old Unix / Mac computers that still run these original Netscape browsers and can't update.

Important: If you are updating your script and were using the old 'ns4' to test for Netscape 4 you will have to modify your page code to test for 'ns' and for 'number' just like you do with Opera and Internet Explorer.

NEW!!! Unix / Linux Version Detection

NEW!: Linux version detection. Since most Linux browsers don't have much about the Linux version in the useragent string, this is pretty basic, but added anyway.

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 a detection script, or questions about how to use it, in our web programming forum. If you do find something wrong with one, and we'll get it fixed and post an updated version.

The full featured PHP browser detection script also include a decent OS detection, that is currently being expanded. It currently identify most Windows, Mac OS X, some Linux, some Unix, more will be added as time permits. 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>

top

Full Featured Browser Detection PHP Script

Configuration information

This script features a way to extract the browser name and version number from almost any navigator user agent that might be visiting, but in many cases that's not desirable, for example if you want to deliver some CSS or code to a default 'unknown' type browser. In that case you would want the script to return the value '', browser == '' that is.

To make the script return a default value of '' for unrecognized user agents, search the page for this string:

// delete this part if you want an unknown browser returned

then follow the directions, delete first part, uncomment second part.

OmniWeb:

You now have two options:
Standard is straight omniweb detection. No modification necessary.
Custom requires a simple change in the code: search for:
case 'omni':
in the script, uncomment that case block, and the script will return the KHTML/Safari id, with the right AppleWebKit version number.

Download: complex, full featured PHP Browser Detection
Current Version: 4.9.16
File Last Modified: July 04, 2008. 12:37:09 pm

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( 'number' ) .'<br>'. 
browser_detection( 'browser' ) .'<br>'.  
browser_detection( 'os' ) .'<br>'.  
browser_detection( 'os_number' ) ); 
?>

Outputs (browser version, browser, os, os number): 
1.5
moz
nt
5.1

<?php
if ( ( browser_detection( 'browser' ) == 'ie' ) 
&& 
( browser_detection( 'number' ) >= 5 ) )
{
echo 'it is Internet Explorer ' . 
browser_detection( 'number' );
// or anything else you want to happen of course
}
?>
					

top

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:


PHP browser detector Bug Alerts

Bug in versions less than 4.9.9: Please download the latest version, that's fixed, it's small, but might affect your site at some point. It's just a precautionary fix at this point.

Thanks to the Dan Nielson for pointing out a bug in our Linux detection, that's fixed as of version 4.9.6. The bug made gentoo and ubuntu id as Windows NT, sorry about that.

Thanks to the OmniWeb team for pointing out a bug in our OmniWeb detection, that's fixed as of version 4.9.4., along with a switch to choose OmniWeb/Safari type detection.

Thanks to Bernward Ferber for finding a bug in the ie_version detection, that's fixed as of version 4.9.2. This bug only affected the script in the case of generic Mac IE detection.

IMPORTANT:

Unix Version Detection: There was a serious bug in the unix detection script. That is fixed as of version 4.4.3.

Mac OS X detector: If you downloaded any version pre 4.4.1 with Mac OS X detection there was a serious bug in the script.

Please update your scripts or you may get parse errors if a Mac/Unix/Spider visits your site that will prevent the page from being rendered.

Download Notes

Generic programs like MS Notepad will not open these downloaded text files correctly.

Please use your text editor (for example, our personal favorite, EditPlus, or HTML-Kit, BB edit, etc. to open them.

If you just want to take a look at them in your browser, go to the bottom of the page and click the Manual Download links.