Um pequeno código para detectar o sistema operativo do utilizador.
Se possivel agradecia que me reportassem quaisquer erros na validação do SO determinada pelo script, para assim os poder corrigir. Obrigado.
<?php
/////////////////////////////////////////////////////////////////////////////
// Detectar Sistema Operativo //
// Elaborado por =IceBurn= 2006 //
// * * * * * * * WWW.TENHAMEDO.NET * * * * * * * //
/////////////////////////////////////////////////////////////////////////////
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("/Windows 95/i", $user_agent)) $so = "Windows 95";
else if (preg_match("/Win95/i", $user_agent)) $so = "Windows 95";
else if (preg_match("/Win98/i", $user_agent)) $so = "Windows 98";
else if (preg_match("/Windows ME/i", $user_agent)) $so = "Windows ME";
else if (preg_match("/Windows 98/i", $user_agent)) $so = "Windows 98";
else if (preg_match("/Win 9x 4.90/i", $user_agent)) $so = "Windows ME";
else if (preg_match("/Windows 2000/i", $user_agent)) $so = "Windows 2000";
else if (preg_match("/Windows NT 5.0/i", $user_agent)) $so = "Windows 2000";
else if (preg_match("/Windows XP/i", $user_agent)) $so = "Windows XP";
else if (preg_match("/Windows NT 5.1/i", $user_agent)) $so = "Windows XP";
else if (preg_match("/Windows NT 5.2/i", $user_agent)) $so = "Windows XP x64 Edition";
else if (preg_match("/Windows NT 6.0/i", $user_agent)) $so = "Windows Vista";
else if (preg_match("/Windows NT/i", $user_agent)) $so = "Windows NT";
else if (preg_match("/WinNT/i", $user_agent)) $so = "Windows NT";
else if (preg_match("/Windows CE/i", $user_agent)) $so = "Windows Mobile";
else if (preg_match("/Linux/i", $user_agent)) $so = "Linux";
else if (preg_match("/FreeBSD/i", $user_agent)) $so = "BSD";
else if (preg_match("/OpenBSD/i", $user_agent)) $so = "BSD";
else if (preg_match("/BSD/i", $user_agent)) $so = "BSD";
else if (preg_match("/SunOS/i", $user_agent)) $so = "Solaris";
else if (preg_match("/Mac OS X/i", $user_agent)) $so = "Mac OS X";
else if (preg_match("/Mac_PowerPC/i", $user_agent)) $so = "Mac OS";
else if (preg_match("/Macintosh/i", $user_agent)) $so = "Mac OS";
else if (preg_match("/Mac/i", $user_agent)) $so = "Mac OS";
else $so = "Desconhecido";
echo $so;
?>
##################################################################################