Salve a tutti,
vorrei sapere come fare ad estrarre, a partire dalla lunga lista di codici e parole del risultato che mi resituisce User Agent, il sistema operativo e il browser in chiaro.
Grazie.
Salve a tutti,
vorrei sapere come fare ad estrarre, a partire dalla lunga lista di codici e parole del risultato che mi resituisce User Agent, il sistema operativo e il browser in chiaro.
Grazie.
"To iterate is human, to recurse, divine." (R.(Heller))
Browser:
Sistema operativo:Codice PHP:
$useragent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = 'IE';
} elseif (preg_match( '|Opera ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = 'Opera';
} elseif(preg_match('|Firefox/([0-9\.]+)|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = 'Firefox';
} elseif(preg_match('|Safari/([0-9\.]+)|',$useragent,$matched)) {
$browser_version=$matched[1];
$browser = 'Safari';
} else {
// browser not recognized!
$browser_version = 0;
$browser= 'Altro';
}
Codice PHP:
$useragent = $_SERVER['HTTP_USER_AGENT'];
if (strstr($useragent,'Win')) {
$os='Windows';
} else if (strstr($useragent,'Mac')) {
$os='Mac';
} else if (strstr($useragent,'Linux')) {
$os='Linux';
} else if (strstr($useragent,'Unix')) {
$os='Unix';
} else {
$os='Altro';
}
return $os;
![]()
Ce l'ho fatta! - ItalianPixel -
Ciao e grazie per il tuo utilissimo intervento.
Non è che sarebbe possibile anche conoscere la versione del windows utilizzato? Tipo 7, Xp, ecc?
Grazie.
"To iterate is human, to recurse, divine." (R.(Heller))
Allora prova così:
non testato ma dovrebbe andare.Codice PHP:
$osar = array("Windows XP" => "Windows NT 5.1",
"Windows 2000" => "Windows NT 5.0",
"Windows ME" => "Windows NT 4.90",
"Windows 95" => "Win95",
"Windows 98" => "Win98",
"Windows NET" => "Windows NT 5.2",
"Windows NT" => "WinNT4.0",
"Mac" => "Mac|PPC",
"Linux" => "Linux",
"FreeBSD" => "FreeBSD",
"SunOS" => "SunOS",
"Irix" => "Irix",
"BeOS" => "BeOS",
"OS/2" => "OS/2",
"AIX" => "AIX",
)
foreach($osar as $chiave => $valore){
if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
$os=$chiave;
}else{
$os='Altro';
}
}
echo $os;
Basta che aggiungi quelli che ti interessano, tipo windows 7, 8 o altro.
Ce l'ho fatta! - ItalianPixel -
Ancora grazie!
Visto che mancano windows Vista e 7, sarebbero rispettivamente "Windows NT 6.0" e "Windows NT 6.1" ?
"To iterate is human, to recurse, divine." (R.(Heller))
Esattamente.![]()
Ce l'ho fatta! - ItalianPixel -
C'è un piccolo bug nel codice che non ho testato. Usa questo:
Ti ho aggiunto anche vista e 7Codice PHP:
$osar = array("Windows 7" => "Windows NT 6.1",
"Windows Vista" => "Windows NT 6.0",
"Windows XP" => "Windows NT 5.1",
"Windows 2000" => "Windows NT 5.0",
"Windows ME" => "Windows NT 4.90",
"Windows 95" => "Win95",
"Windows 98" => "Win98",
"Windows NET" => "Windows NT 5.2",
"Windows NT" => "WinNT4.0",
"Mac" => "Mac|PPC",
"Linux" => "Linux",
"FreeBSD" => "FreeBSD",
"SunOS" => "SunOS",
"Irix" => "Irix",
"BeOS" => "BeOS",
"OS/2" => "OS/2",
"AIX" => "AIX",
)
foreach($osar as $chiave => $valore){
if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
$os=$chiave;
}
}
if(!isset($os)) $os='Altro';
echo $os;
Ce l'ho fatta! - ItalianPixel -
Ancora grazie mille!
P.s. carino il tuo sito!
"To iterate is human, to recurse, divine." (R.(Heller))
GrazieDacci occhio che magari trovi qualcosa che ti interessa
![]()
p.s. non l'ho fatto per avere visite o pubblicità ma solo per aiutare chi ha bisogno e per ricordarmi io stesso alcune cose che magari uso raramente ma che possono essere utili. Giusto per chiarire![]()
Ce l'ho fatta! - ItalianPixel -
Mi riferivo al sito che hai nel profilo.
Comunque molto utile anche il framework che hai in firma. Magari se le uso ti darò una mano su eventuali bugs o migliorie.
Meglio finirla qui o andiamo offtopicmagari ci si sente per PM!
Ancora grazie per le dritte sull'User Agent.
"To iterate is human, to recurse, divine." (R.(Heller))