DetectBrowser

De Sydonie

Utilisation de browscap

La fonction PHP get_browser() essaie de déterminer les capacités du navigateur client. Cela se fait en lisant les informations dans le fichier browscap.ini.

Page du manuel PHP de get_browser() [1]

Exemple :

   get_browser("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3", true) 

retournera :

   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
     [cssversion] => 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] =>
   )


browscap.ini

Le fichier browscap.ini est indispensable au fonctionnement de get_browser(). Il est régulièrement mis à jour, et est téléchargeable à l'adresse [2].

Afin de pouvoir fonctionner, il faut installer ce fichier sur le serveur Apache/PHP et indiquer sa présence dans le fichier de configuration de PHP (php.ini). Il faut renommer le fichier php_browscap.ini en ./extras/browscap.ini et ajouter sa référence dans le fichier php.ini :

 browscap = "E:/httpd/php5/extras/browscap.ini"


Si le fichier n'est pas installé sur le serveur Apache, get_browser() lance un message d’erreur :

 Warning: get_browser() [function.get-browser]: browscap ini directive not set

Le site Quesaco [3] propose quelques fonctions pour parcourir localement le fichier php_browscap.ini (voir la page consacrée à browscap [4]) qui pourra être ajouté au répertoire Helpers.