Salve, nel mio sito ho messo la seguente funzione per identificare il tipo di sistema operativo utilizzato dall'utente che visita il mio sito.
function getsistemaoperativo()
{
$os = array(
'Mac' => 'Mac',
'PPC' => 'Mac',
'Linux' => 'Linux',
'Windows NT 6.1' => 'Windows 7',
'Windows NT 5.1' => 'Windows XP',
'Windows NT 5.0' => 'Windows 2000',
'Windows NT 4.90' => 'Windows ME',
'Windows NT 6.0' => 'Windows Vista',
'Win95' => 'Windows 95',
'Win98' => 'Windows 98',
'Windows NT 5.2' => 'Windows NET',
'WinNT4.0' => 'Windows NT',
'FreeBSD' => 'FreeBSD',
'SunOS' => 'SunOS',
'Irix' => 'Irix',
'BeOS' => 'BeOS',
'OS/2' => 'OS/2',
'AIX' => 'AIX',
);
foreach($os as $chiave => $valore)
{
if(strpos($_SERVER['HTTP_USER_AGENT'], $chiave))
{
return $valore;
}
}
return $_SERVER['HTTP_USER_AGENT'];
}
Nella funzione appena descritta, se il sistema operativo viene identificato mi restituisce il nome altrimenti mi da direttamente il codice del comando $_SERVER['HTTP_USER_AGENT']
$so=getsistemaoperativo(); //in questa variabile memorizzo il risultato della funzione
Spesso mi capita che il sistema operativo non viene identificato dalla mia funzione e mi viene mostrato il codice catturato dal comando $_SERVER['HTTP_USER_AGENT'], eccone un esempio:
Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0C)
Come faccio a sapere a quale sistema operativo si riferisce in modo da poter aggiornare l'array da me scritto?
Esistono delle tabelle?
Grazie.
Luigi