riconoscere il sistema operativo con user_agent

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Buonasera, sto cercando di capire come poter verificare oltre al sistema operativo, windows, linux, mac, anche le relative versioni, quindi windows 7 windows 8, oppure ubuntu etc. Una volta verificato vorrei inviarle via mail usando phpmailer. Sapete darmi una dritta? Come posso fare un controllo e inviare l'esito via mail?
Uso già HTTP_USER_AGENT ma mi restituisce una stringa. So che devo verificare dentro la stringa se ci sono alcuni parametri ma non so da dove partire.

Grazie
 
Avevo trovato in rete questa funzione:
PHP:
function GetSO($agent) {
        $so = array(
            'Windows NT 6.2' => 'Win 8',
            'Windows NT 6.1' => 'Win 7',
            'Windows NT 6.0' => 'Win vista',
            'Windows NT 5.1' => 'Win XP',
            'Windows NT 5.0' => 'Win 2000',
            'Windows NT 4.90' => 'Win ME',
            'Win95' => 'Win 95',
            'Win98' => 'Win 98',
            'Windows NT 5.2' => 'Win NET',
            'WinNT4.0' => 'Win NT',
            'Mac|PPC' => 'Mac',
            'Linux' => 'Linux',
            'FreeBSD' => 'FreeBSD',
            'SunOS' => 'SunOS',
            'Irix' => 'Irix',
            'BeOS' => 'BeOS',
            'OS/2' => 'OS/2',
            'AIX' => 'AIX',
        );

        foreach ($so as $chiave => $valore) {
            if (strstr($agent, $chiave)) {
                return $valore;
            }
        }
        return 'Altro';
    }

la richiami passandole l'agent
PHP:
$so = GetSO($_SERVER["HTTP_USER_AGENT"]);

Probabilmente sara da aggiornare magari anche togliendo i sistemi piu vecchi
 
Ultima modifica:

Discussioni simili