Dodwin: betriebssystem ermitteln

Beitrag lesen

Hallo florifrosch,

Ich habe in einem Logfile-Auswerter einmal Folgendes zur Bestimmung des Betriebsystems benutzt:

  
$os = '-';  
if (stripos($useragent,'win') !== false) $os = 'Windows';  
else if (stripos($useragent,'linux') !== false) $os = 'Linux';  
else if (stripos($useragent,'mac') !== false) $os = 'Macintosh';  
else if (stripos($useragent,'freebsd') !== false) $os = 'FreeBSD';  
else if (stripos($useragent,'solaris') !== false) $os = 'Sun Solaris';  
else if (stripos($useragent,'unix') !== false) $os = 'Unbekanntes Unix-System';  
  
$os_version = '-';  
if ($os == 'Windows' && stripos($useragent,'nt 6.0') !== false) $os_version = 'Windows Vista';  
else if ($os == 'Windows' && stripos($useragent,'nt 5.2') !== false) $os_version = 'Windows XP Professional x64 Edition';  
else if ($os == 'Windows' && stripos($useragent,'nt 5.1') !== false) $os_version = 'Windows XP';  
else if ($os == 'Windows' && stripos($useragent,'nt 5.0') !== false) $os_version = 'Windows 2000';  
else if ($os == 'Windows' && stripos($useragent,'nt 4.0') !== false) $os_version = 'Windows NT 4.0';  
else if ($os == 'Windows' && stripos($useragent,'nt 3.51') !== false) $os_version = 'Windows NT 3.51';  
else if ($os == 'Windows' && stripos($useragent,'nt 3.5') !== false) $os_version = 'Windows NT 3.5';  
else if ($os == 'Windows' && stripos($useragent,'nt 3.1') !== false) $os_version = 'Windows NT 3.1';  
else if ($os == 'Linux' && stripos($useragent,'debian') !== false) $os_version = 'Linux - Debian';  
else if ($os == 'Linux' && stripos($useragent,'fedora') !== false) $os_version = 'Linux - Fedora Core';  
else if ($os == 'Linux' && stripos($useragent,'gentoo') !== false) $os_version = 'Gentoo Linux';  
else if ($os == 'Linux' && stripos($useragent,'mandriva') !== false) $os_version = 'Linux - Mandriva';  
else if ($os == 'Linux' && stripos($useragent,'slackware') !== false) $os_version = 'Slackware Linux';  
else if ($os == 'Linux' && stripos($useragent,'suse') !== false) $os_version = 'SUSE Linux';  
else if ($os == 'Linux' && stripos($useragent,'kubuntu') !== false) $os_version = 'Linux - Kubuntu';  
else if ($os == 'Linux' && stripos($useragent,'ubuntu') !== false) $os_version = 'Linux - Ubuntu';  
else if ($os == 'Linux' && stripos($useragent,'knoppix') !== false) $os_version = 'Linux - Knoppix';  
else if ($os == 'Linux' && stripos($useragent,'mepis') !== false) $os_version = 'MEPIS Linux';  
else if ($os == 'Linux' && stripos($useragent,'Xandros') !== false) $os_version = 'Linux - Xandros';  
else if ($os == 'Macintosh' && stripos($useragent,'mac os x') !== false) $os_version = 'Mac OS X';  
else if ($os == 'Macintosh') $os_version = 'Mac OS';  

$useragent würde dann bei dir $_SERVER['HTTP_USER_AGENT'] entsprechen.

Gruß,
Dodwin

--
Dodwin