Get user operating system with PHP

Get user operating system with PHP

Postby rtuszendi » 2013.07.03. 08:09

Get user operating system with PHP / Látogató operációs rendszerének lekérdezése PHP-ben



Ever wanted to find out what operating system your visitors are using? The following function will allow you to get the user operating system so you can use in a statistics application or show certain content on your website. This will allow server side decisions on what stylesheets to show or any other operating system specific content to be shown/hide.


Code: Select all
<?php
/*
Author: Daniel Kassner
Website: http://www.danielkassner.com
*/
function getOS($userAgent) {
  // Create list of operating systems with operating system name as array key
   $oses = array (
      'iPhone' => '(iPhone)',
      'Windows 3.11' => 'Win16',
      'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)', // Use regular expressions as value to identify operating system
      'Windows 98' => '(Windows 98)|(Win98)',
      'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
      'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
      'Windows 2003' => '(Windows NT 5.2)',
      'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
      'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
      'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
      'Windows ME' => 'Windows ME',
      'Open BSD'=>'OpenBSD',
      'Sun OS'=>'SunOS',
      'Linux'=>'(Linux)|(X11)',
      'Safari' => '(Safari)',
      'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
      'QNX'=>'QNX',
      'BeOS'=>'BeOS',
      'OS/2'=>'OS/2',
      'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)'
   );

   foreach($oses as $os=>$pattern){ // Loop through $oses array
    // Use regular expressions to check operating system type
      if(eregi($pattern, $userAgent)) { // Check if a value in $oses array matches current user agent.
         return $os; // Operating system was matched so return $oses key
      }
   }
   return 'Unknown'; // Cannot find operating system so return Unknown
}
?>



An example of how this would be used:


Code: Select all
<?php
echo getOS($_SERVER['HTTP_USER_AGENT']);
?>
User avatar
rtuszendi
Adminisztrátor
 
Posts: 326
Joined: 2012.02.03. 20:26
Location: Hungary, Debrecen
Country: Hungary
city: Debrecen

Return to PHP Code Snippets

Who is online

Users browsing this forum: No registered users and 1 guest

cron


Flag Counter