Utilisation de la fonction get_browser()
La fonction get_browser() permet d'obtenir des informations sur le navigateur de votre client. D'utilisation simple cette fonction vous permettra de réaliser des pages internet optimisées pour les capacités du navigateur de votre client.
Les scripts suivants ont été testé sous Debian 7 (Wheezy), Debian8 (Jessie) et Debian 9 (Stretch)
A savoir
Pour pouvoir utiliser cette fonction il faut avant tout avoir accès au php.ini de votre serveur ou, si vous êtes en hébergement mutualisé, espérez que votre fournisseur de services l'ai activé par défaut dans sa configuration. Les explications ci-dessous sont effectuées sur un serveur dédié équipé de l'OS Linux Debian. Cela devrai fonctionner aussi sur un serveur Ubuntu sans modification. Pour les autres distributions Linux, il faudra adapté.
Activer la fonction
Pour activer la fonction get_browser(), il faut avant tout télécharger la dernière version du fichier bibliothèque sur le site officiel du créateur1).
Pour le télécharger directement sur votre serveur Debian, vous pouvez directement entrer les commandes suivantes :
Le code ci-dessous est à exécuter en tant qu'utilisateur root.
command wget "http://browscap.org/stream?q=PHP_BrowsCapINI" --output-document php_browscap.ini mkdir /etc/php5/extra mv php_browscap.ini /etc/php5/extra chown root: /etc/php5/extra/php_browscap.ini
Ensuite il faut activer la fonction dans le php.ini. Pour cela nous éditons ce fichier à l'aide d'un éditeur genre nano ou vi. Ensuite nous dé-commentons la ligne suivante en supprimant le ; se trouvant en début de ligne et entrez l'emplacement du fichier php_browscap.ini.
[browscap] ; http://php.net/browscap ;browscap = extra/browscap.ini
devient
[browscap] ; http://php.net/browscap browscap = /etc/php5/extra/php_browscap.ini
Si PHP est un module d'apache, il ne faut pas oublier de redémarrer votre daemon APACHE avec la commande suivante :
service apache2 restart
Si vous utilisez php5-fpm vous devez relancer Apache et PHP.
service php5-fpm restart service apache2 restart
Utilisation de la fonction
La syntaxe de la commande get_browser() est simple, elle est de la forme
get_browser($user_agent,$return_array);
- $user_agent : Vous mettez ici l'entête user agent à analyser. Par défaut, il s'agit de l'entête user-agent spécifié à $_SERVER['HTTP_USER_AGENT']. Vous pouvez si vous le désirez mettre la valeur à NULL.
- $return_array : Si cette valeur est a true cette fonction retournera un tableau au lien d'un objet.
Exemple
Nous prenons le code suivant comme exemple :
<?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?>
Ce code nous retournera un tableau de cette sorte (les valeurs vont varier selon votre navigateur):
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Array ( [browser_name_regex] => §^mozilla/5\.0 \(.*windows nt 6\.1.*wow64.*rv:.*\) gecko/.* firefox/8\..*$§ [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.1*WOW64*rv:*) Gecko/* Firefox/8.* [parent] => Firefox 8.0 [platform] => Win7 [win32] => [win64] => 1 [browser] => Firefox [version] => 8.0 [majorver] => 8 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [javascript] => 1 [javaapplets] => 1 [cssversion] => 3 [minorver] => 0 [alpha] => [beta] => [win16] => [backgroundsounds] => [vbscript] => [activexcontrols] => [isbanned] => [ismobiledevice] => [issyndicationreader] => [crawler] => [aolversion] => 0 )
Mise à jour
[09/08/2015] : Adaptation Debian 7 et 8 [17/11/2017] : Mise à jour du document et harmonisation de la page
Auteurs et sources
- Auteur : montuy337513
- Sources : php.net, Browser Capabilities Project
Navigation
Autres liens rapides pouvant vous intéresser