View Full Version : PHP SERVER["HTTP_USER_AGENT"]
ciao chi mi sa dire che stringhe restituisce la funzioone SERVER["HTTP_USER_AGENT"] per tutti i browser..
xche nn riesco a treovare un sito che me lo dica :( :help:
ciao chi mi sa dire che stringhe restituisce la funzioone SERVER["HTTP_USER_AGENT"] per tutti i browser..
xche nn riesco a treovare un sito che me lo dica :( :help:Prima di tutto non è una funzione .... è una variabile super-global.
C'è questo sito che avevo trovato una volta: http://www.psychedelix.com/agents.html
Però non so dirti quanto sia valido e aggiornato o meno. Vedi anche, eventualmente: http://en.wikipedia.org/wiki/User_agent
Tieni presente che non si tratta di una semplice stringa di cui tu puoi fare una comparazione per intero con certe stringhe conosciute!!
Ti faccio un esempio: per Firefox la stringa di user-agent è una cosa tipo questa:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
C'è quindi da analizzare solamente delle parti della stringa. Infatti il sistema operativo può variare (Windows NT 5.0 indica Win2000), la lingua può cambiare invece di essere en-US, la versione di Gecko può variare, e anche la versione di Firefox cambia, ovviamente.
Per stabilire se è Firefox, ad esempio devi cercare la stringa "Firefox/" Una volta che l'hai trovata sai che è Firefox e devi leggere la parte dopo il / per determinare la versione.
Mentre con IE la stringa è una cosa del tipo:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
In questo caso devi cercare la stringa "MSIE "
Insomma ... spero che ti sia chiaro che c'è da fare un po' di analisi sulla stringa! ;)
Prima di tutto non è una funzione .... è una variabile super-global.
C'è questo sito che avevo trovato una volta: http://www.psychedelix.com/agents.html
Però non so dirti quanto sia valido e aggiornato o meno. Vedi anche, eventualmente: http://en.wikipedia.org/wiki/User_agent
Tieni presente che non si tratta di una semplice stringa di cui tu puoi fare una comparazione per intero con certe stringhe conosciute!!
Ti faccio un esempio: per Firefox la stringa di user-agent è una cosa tipo questa:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
C'è quindi da analizzare solamente delle parti della stringa. Infatti il sistema operativo può variare (Windows NT 5.0 indica Win2000), la lingua può cambiare invece di essere en-US, la versione di Gecko può variare, e anche la versione di Firefox cambia, ovviamente.
Per stabilire se è Firefox, ad esempio devi cercare la stringa "Firefox/" Una volta che l'hai trovata sai che è Firefox e devi leggere la parte dopo il / per determinare la versione.
Mentre con IE la stringa è una cosa del tipo:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
In questo caso devi cercare la stringa "MSIE "
Insomma ... spero che ti sia chiaro che c'è da fare un po' di analisi sulla stringa! ;)
no ma tipo se ho firefox esce Firefox se uso ie esce ..... se uso safari esce ...? mozilla esce Moziila e viadicendo
no ma tipo se ho firefox esce Firefox se uso ie esce ..... se uso safari esce ...? mozilla esce Moziila e viadicendoAllora ... per avere le informazioni chiare e precise (per fare magari dei test) devi o analizzare tu la stringa oppure appoggiarti a qualche libreria dedicata al riconoscimento dello user-agent (e ce ne sono sicuramente in giro). Io in passato mi ero fatto una classe PHP che faceva proprio questo, analizzava la stringa e poi potevo fare dei test del tipo if ($ua->isInternetExplorer ()) ... (adesso non mi ricordo bene ... non l'ho mai più aggiornata/usata ... dovrei sistemarla!)
Se vuoi fare un banale test puoi fare:
$useragent = strtolower ($_SERVER['HTTP_USER_AGENT']);
if (strpos ($useragent, "firefox/") !== FALSE)
{
echo "Sono Firefox";
}
elseif (strpos ($useragent, "opera/") !== FALSE)
{
echo "Sono Opera";
}
elseif (strpos ($useragent, "msie ") !== FALSE)
{
echo "Sono Internet Explorer";
}
elseif (strpos ($useragent, "mozilla/") !== FALSE &&
strpos ($useragent, "rv:") !== FALSE)
{
echo "Sono Mozilla";
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.