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.8.0
File Last Modified: October 05, 2016. 22:54:23 pm

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.3.4
File Last Modified: February 16, 2014. 18:02:39 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:

Windows
NT (version unknown)

Current Browser / UA:

User Agent: Applewebkit 537.36
Layout Engine: Webkit
Engine Version: 537.36

HTML Support

HTML 5 Basic: Good
HTML 5 Forms: Good
XHTML: No

JavaScript

PHP Browser Detection

Run Time: 0.00005794 Seconds

Most Recent Script Updates

Also view the full update history page if you want to check how it has changed.

Version 5.8.0
Bot/Lib/Downloader Main Update: 3

Added more wild card type bot detections. Added many more bots. Handled more 'lib' type user agents. Cleaned up comments, moved many UA strings to bottom footer, which now is expanded to show more examples so people can understand why the detections are placed where they are in the sequence.

Version 5.7.2
Updated list of bots/downloaders part 2

Improved order of bot detections, to capture more mobile bots that use a standard useragent string. Also updated lists of download/library and bot lists using some nice raw data sets.

Version 5.7.1
Updated list of bots/downloaders

Added more bots, and moved the position in the search for primary search downloaders to handle increasing use of ua strings that are like real chrome/safari etc for mobile search. Also cleaned up all commenting, now using /**...**/ for all text comments.


All Updates

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>

top

About the 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.

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
}
?>
					

top

This is your browser useragent string:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Manual Downloads

If for some reason the above download links didn't work, you can download these scripts here:


Site Information

W3C Validation:

XHTML CSS

Site hosted by:

pair
networks

Site Features

Utilities

Javascript Browser Test

PHP browser detector Bug Alerts

Small bug in 5.3.3 that briefly broke some browser version number returns. This is fixed in 5.3.4.

Bug in versions less than 4.11.2: Array count error in some cases. Please download the latest version. It might affect your site at some point. Thanks to privacygirl.com for finding this.

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. Update: now returns array of webkit data when required (verson 4.11.0 and later).

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.