Description
mixed
get_browser ( [string user_agent [, bool return_array]] )
get_browser() essaie de déterminer les
capacités du navigateur client. Cela se fait en lisant
les informations dans le fichier browscap.ini.
Par défaut, la valeur de HTTP User-Agent est utilisée.
Cependant, vous pouvez passer n'importe quelle valeur avec le
paramètre optionnel user_agent
à get_browser(). Vous pouvez omettre
user_agent en passant la valeur NULL.
Les informations sont retournées sous forme d'un objet,
dont les différents membres contiendront des informations,
telles que les versions majeures et mineures et des chaînes
d'identification ; des booléens pour des caractéristiques
telles que frames, JavaScript, et cookies ; et ainsi de suite.
Depuis PHP 4.3.2, si le paramètre optionnel
return_array vaut TRUE, cette fonction retournera
un tableau au lieu d'un objet.
Même si browscap.ini contient des
informations sur de nombreux clients, il compte sur les
utilisateurs pour être mis à jour. Le format du
fichier est facilement compréhensible.
L'exemple suivant montre comment on peut lister les informations
disponibles :
Exemple 1. Exemple avec get_browser() : liste des capacités
du navigateur du client
<?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
$browser = get_browser(null, true); print_r($browser); ?>
|
L'exemple ci-dessus va afficher quelque chose de similaire à : Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
Array
(
[browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
[css] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] =>
[vbscript] =>
[javascript] => 1
[javaapplets] => 1
[activexcontrols] =>
[cdf] =>
[aol] =>
[beta] => 1
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[netclr] =>
) |
|
La valeur cookies indique simplement que le
navigateur est capable d'accepter les cookies, et n'indique pas
si l'utilisateur les a activé sur son navigateur. Le seul moyen
de tester l'activation des cookies est d'en poser un avec
la fonction setcookie(), de recharger la page
et de vérifier que le cookie existe toujours.
Note :
Afin de pouvoir fonctionner, la directive de configuration
browscap dans le fichier php.ini
doit pointer vers le fichier browscap.ini de votre
système.
browscap.ini n'est pas distribué avec PHP, mais vous
pouvez le télécharger sur
up-to-date php_browscap.ini.
Bien que browscap.ini contienne des informations
sur de très nombreux navigateur, il incombe à l'utilisateur de
conserver sa base de données à jour. Le format du fichier
est très simple à comprendre.