get_browser

(PHP 3, PHP 4 )

get_browser --  Indique de quoi est capable le navigateur client.

Description

object get_browser ( [string user_agent])

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().

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.

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()

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "<hr />\n";

$browser = get_browser();

foreach (
$browser as $name => $value) {
    print
"<b>$name</b> $value <br />\n";
}

?>

L'affichage devrait ressembler à ceci :

Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)<hr />
<b>browser_name_pattern:</b> Mozilla/4\.5.*<br />
<b>parent:</b> Netscape 4.0<br />
<b>platform:</b> Linux<br />
<b>majorver:</b> 4<br />
<b>minorver:</b> 5<br />
<b>browser:</b> Netscape<br />
<b>version:</b> 4<br />
<b>frames:</b> 1<br />
<b>tables:</b> 1<br />
<b>cookies:</b> 1<br />
<b>backgroundsounds:</b> <br />
<b>vbscript:</b> <br />
<b>javascript:</b> 1<br />
<b>javaapplets:</b> 1<br />
<b>activexcontrols:</b> <br />
<b>beta:</b> <br />
<b>crawler:</b> <br />
<b>authenticodeupdate:</b> <br />
<b>msn:</b> <br />

Pour fonctionner, votre configuration browscap dans le php.ini doit pointer sur le fichier browscap.ini de votre système. browscap.ini n'est pas fourni avec PHP mais vous pouvez trouver une version à jour sur ce site. Par défaut, la directive browscap est désactivée.

Note : 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 : Sur les versions de PHP plus ancienne que la 4.0.6, vous devez passer le nom du naviageteur comme troisième paramètre optionnel user_agent, et si la directive register_globals vaut off. Dans ce cas, vous devrez utiliser $HTTP_SERVER_VARS['HTTP_USER_AGENT'].