A very quick PHP script for detecting browser/device and OS agent strings from the HTTP User Agent variable. This is not 100% reliable because surfers and bots sometimes hide or falsify the user agent string so please use with caution.
Browser and OS Detection Script
This script detects whether the OS/Device is Linux, MacOS, iPad, iPhone, Droid, Unix, Windows or anything else (caught in Unknown). It also detects whether the browser is Chrome, Firefox, Opera or Internet Explorer.
- The user agent string is stored in the variable $agent.
- The operating system or device is stored in the variable $os.
- The browser is stored in $br.
Copy and paste the following code into the top of your PHP file or save it in its own PHP file and use a PHP include to bring it into the file where the $br and $os variables are used:
<?php // Simple browser and OS detection script. // This will not work if User Agent is false. $agent = $_SERVER['HTTP_USER_AGENT']; // Detect Device/Operating System if(preg_match('/Linux/i',$agent)) $os = 'Linux'; elseif(preg_match('/Mac/i',$agent)) $os = 'Mac'; elseif(preg_match('/iPhone/i',$agent)) $os = 'iPhone'; elseif(preg_match('/iPad/i',$agent)) $os = 'iPad'; elseif(preg_match('/Droid/i',$agent)) $os = 'Droid'; elseif(preg_match('/Unix/i',$agent)) $os = 'Unix'; elseif(preg_match('/Windows/i',$agent)) $os = 'Windows'; else $os = 'Unknown'; // Browser Detection if(preg_match('/Firefox/i',$agent)) $br = 'Firefox'; elseif(preg_match('/Mac/i',$agent)) $br = 'Mac'; elseif(preg_match('/Chrome/i',$agent)) $br = 'Chrome'; elseif(preg_match('/Opera/i',$agent)) $br = 'Opera'; elseif(preg_match('/MSIE/i',$agent)) $br = 'IE'; else $bs = 'Unknown'; ?>
Use the Script
The detection script checks a web browser’s user agent string for specific words like Chrome, Unix, Windows and Firefox. Here is a basic run though of how to use those user agent strings:
// Action when OS/Device is found if($os=='Linux') { echo 'This is done when the OS/Device is Linux'; } if($os=='Mac') { echo 'This is done when the OS/Device is MacOS'; } if($os=='iPhone') { echo 'This is done when the OS/Device is iPhone'; } if($os=='iPad') { echo 'This is done when the OS/Device is iPad'; } if($os=='Droid') { echo 'This is done when the OS/Device is Droid'; } if($os=='Unix') { echo 'This is done when the OS/Device is Unix'; } if($os=='Unknown') { echo 'This is done when the OS/Device is unknown. This is the failsafe for when an OS/Device is not detected.'; } // Action when Browser is detected if($br=='Firefox') { echo 'This is done when the Browser is Firefox'; } if($br=='Chrome') { echo 'This is done when the Browser is Chrome'; } if($br=='Opera') { echo 'This is done when the Browser is Opera'; } if($br=='MSIE') { echo 'This is done when the Browser is Microsoft Internet Explorer'; } if($br=='Unknown') { echo 'This is done when the Browser is Unknown. This is the failsafe for when a browser type is not detected'; } // Action when both browser and OS/Device are detected if($os=='Linux' && $br=='Firefox') { echo 'This is done when the Browser is Firefox and the OS is Linux.'; } if($os=='Unknown' && $br=='Unknown') { echo 'This is done when the Browser is Unknown and the OS is Unknown. This is the catch-the-rest failsafe'; }
It’s a simple script and very easy to use. If you need help, use the message box below to tell me.