Salve a tutti.
Ho creato un sito e ho la necessita di identificare il sistema operativo di chi si connette a tale sito.
Ho creato questo codice:
Codice PHP:
<?php
//Controlla il sistema operativo
function getsistemaoperativo()
{
$os = array(
'Mac' => 'Mac',
'PPC' => 'Mac',
'Linux' => 'Linux',
'Windows NT 4.90' => 'Windows ME',
'Windows NT 5.0' => 'Windows 2000',
'Windows NT 5.1' => 'Windows XP',
'Windows NT 5.2' => 'Windows NET',
'Windows NT 6.0' => 'Windows Vista',
'Windows NT 6.1' => 'Windows 7',
'Windows NT 6.3' => 'Windows 8.1',
'Win95' => 'Windows 95',
'Win98' => 'Windows 98',
'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'];
}
$so=getsistemaoperativo();
echo $so;
?>
Il codice l'ho scritto in modo ridotto per rendere le cose piu facili a chi legge.
Funziona bene solo che va aggiornato di frequente in base ai dispositivi e sistemi operativi che escono di continuo.
Basti pensare che il sistema operativo Windows 10 mi viene riconosciuto come Windows 8.1
Per ovviare a questo inconveniente devo trovare i dispositivi che risultano sconosciuti al mio codice, trovare la stringa ottenuta dal comando $_SERVER['HTTP_USER_AGENT'] e modificare il codice appena scritto.
Ovviamente come dispositivi sconosciuti parlo anche degli Ipod, Ipad, Tablet, Smartphone, Iphone, ecc; un caos completo andarli a reperire tutti.
La cosa con il tempo diventa scocciante.
Pensate che ci sia un modo migliore per gestire la situazione?
Grazie.
Mariastella.