Accueil > > > DETERMINER SYSTEME D'EXPLOITATION (OS) D'UN VISITEUR
DETERMINER SYSTEME D'EXPLOITATION (OS) D'UN VISITEUR
Information sur la source
Description
Fonction permettant de determiner le systeme d'exploitation (ou OS) d'un visiteur. la fonction admet en parametre $_SERVER['HTTP_USER_AGENT'], ou toutes autres variables qui contient un User_Agent. (Par exemple pour un script à but statistique, l'user_agent d'un visiteur enregistré dans une bdd) Si le parametre n'est pas defini, $_SERVER['HTTP_USER_AGENT'] sera automatiquement utilisé. Il est forcement possible d'optimisé cette source en ajoutant par exemple de nouveaux index (ex : 'Win98' => 'Windows 98')
Source
- <?php
- /*******************************************************
- * Fonction : getOs
- *----------------------------------------------
- * @Desc : Retourne le nom de l'os grâce à l'user agent
- * @Param : $ua (str) : l'user agent dont on veux trouver l'os
- * @Return : (str) le nom de l'os trouvé sinon "Système d'exploitation inconnu"
- * @licence : http://opensource.org/licenses/lgpl-license.php GNU LGPL
- *********************************************************/
- function getOS( $ua = '' )
- {
- if( ! $ua ) $ua = $_SERVER['HTTP_USER_AGENT'];
- $os = 'Système d'exploitation inconnu';
-
- $os_arr = Array(
- // -- Windows
- 'Windows NT 6.1' => 'Windows Seven',
- 'Windows NT 6.0' => 'Windows Vista',
- 'Windows NT 5.2' => 'Windows Server 2003',
- 'Windows NT 5.1' => 'Windows XP',
- 'Windows NT 5.0' => 'Windows 2000',
- 'Windows 2000' => 'Windows 2000',
- 'Windows CE' => 'Windows Mobile',
- 'Win 9x 4.90' => 'Windows Me.',
- 'Windows 98' => 'Windows 98',
- 'Windows 95' => 'Windows 95',
- 'Win95' => 'Windows 95',
- 'Windows NT' => 'Windows NT',
-
- // -- Linux
- 'Ubuntu' => 'Linux Ubuntu',
- 'Fedora' => 'Linux Fedora',
- 'Linux' => 'Linux',
-
- // -- Mac
- 'Macintosh' => 'Mac',
- 'Mac OS X' => 'Mac OS X',
- 'Mac_PowerPC' => 'Mac OS X',
-
- // -- Autres ...
- 'FreeBSD' => 'FreeBSD',
- 'Unix' => 'Unix',
- 'Playstation portable' => 'PSP',
- 'OpenSolaris' => 'SunOS',
- 'SunOS' => 'SunOS',
- 'Nintendo Wii' => 'Nintendo Wii',
- 'Mac' => 'Mac',
- );
-
- $ua = strtolower( $ua );
- foreach( $os_arr as $k => $v )
- {
- if( ereg( strtolower( $k ), $ua ) )
- {
- $os = $v;
- break;
- }
- }
- return $os;
- }
-
- //-- Exemple d'utilisation :
- echo getOS( $_SERVER['HTTP_USER_AGENT'] );
- ?>
<?php
/*******************************************************
* Fonction : getOs
*----------------------------------------------
* @Desc : Retourne le nom de l'os grâce à l'user agent
* @Param : $ua (str) : l'user agent dont on veux trouver l'os
* @Return : (str) le nom de l'os trouvé sinon "Système d'exploitation inconnu"
* @licence : http://opensource.org/licenses/lgpl-license.php GNU LGPL
*********************************************************/
function getOS( $ua = '' )
{
if( ! $ua ) $ua = $_SERVER['HTTP_USER_AGENT'];
$os = 'Système d'exploitation inconnu';
$os_arr = Array(
// -- Windows
'Windows NT 6.1' => 'Windows Seven',
'Windows NT 6.0' => 'Windows Vista',
'Windows NT 5.2' => 'Windows Server 2003',
'Windows NT 5.1' => 'Windows XP',
'Windows NT 5.0' => 'Windows 2000',
'Windows 2000' => 'Windows 2000',
'Windows CE' => 'Windows Mobile',
'Win 9x 4.90' => 'Windows Me.',
'Windows 98' => 'Windows 98',
'Windows 95' => 'Windows 95',
'Win95' => 'Windows 95',
'Windows NT' => 'Windows NT',
// -- Linux
'Ubuntu' => 'Linux Ubuntu',
'Fedora' => 'Linux Fedora',
'Linux' => 'Linux',
// -- Mac
'Macintosh' => 'Mac',
'Mac OS X' => 'Mac OS X',
'Mac_PowerPC' => 'Mac OS X',
// -- Autres ...
'FreeBSD' => 'FreeBSD',
'Unix' => 'Unix',
'Playstation portable' => 'PSP',
'OpenSolaris' => 'SunOS',
'SunOS' => 'SunOS',
'Nintendo Wii' => 'Nintendo Wii',
'Mac' => 'Mac',
);
$ua = strtolower( $ua );
foreach( $os_arr as $k => $v )
{
if( ereg( strtolower( $k ), $ua ) )
{
$os = $v;
break;
}
}
return $os;
}
//-- Exemple d'utilisation :
echo getOS( $_SERVER['HTTP_USER_AGENT'] );
?>
Historique
- 15 août 2007 16:30:16 :
- Optimisation de la boucle, suppression d'elements inutiles
- 18 août 2007 21:32:42 :
- Ajout de quelques index, mise a jour du code
- 18 août 2007 21:36:30 :
- Correction d'une erreur de code
- 19 avril 2009 00:19:27 :
- Mise à jour de la base des os, et quelques petites modifs.
- 19 avril 2009 00:23:06 :
- Modification d'un petit oublie :)
- 19 avril 2009 00:25:01 :
- -
- 19 avril 2009 00:34:16 :
- -
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
OS User ?!?!?!?!..... [ par mamx ]
Salut,je voudrais savoir si il est possible de recuperer le user de connection à l'OS en PHP (ou autre langage) et si oui comment ?....En fait je voud
Variable passed to reset() ... merde ! [ par fcdconnect ]
Bonjour .et bien là c'est la merde,j'ai mis en place une source de statistique qui s'appel les visiteurs v1.2 ces script fonctionnait tres bien jusqu
Pour un serveur web, quel Os, quel config ? [ par Tomcube ]
Salut à tous,Je vois sur certains sites qui proposent des hébergements "Système d'exploitation : Si HTML > Windows, Si PHP, Linux" Pourquoi changen
Get et un systeme de navig [ par zakaria74 ]
Bonjour, Aidez-moi SVP car je suis un débutant, j'ai un fichier un site : www.monsite.com Le menu de mon site se presente comme suit : Accueil = index
Systeme de carte virtuelle [ par must ]
Salut aimerais faire un systeme de carte virtuelle,c'est a dire,prposer images de ma collection,qu'on puisse envoyer message persoCréer un numero d'id
login + redirection [ par cercleaventure ]
Hello, j'ai créer un systeme d'identification et de redirection (php - MySql) tout marche à merveille et les pages sont protégés.Mais voila quand j'ai
Pb mise en place systeme de top 5 des posteurs avec systeme de points [ par the_snake ]
Bonjour donc voila le pb :J'ai trois tables qui correpondent soit a des fiches postees sur mon site soit à des articlespour chaque ligne il y a un nom
Systeme de vote pour radio ! [ par radyonne ]
Bonjour,je voudrais savoir si quelqu'un saurait faire un system de vote pour le site web de ma radio, un system de vote comme celui de radiowave "top
LOGIN/INSCRIPTION AIDEZ MOI [ par Wars007 ]
Salut je voudrais savoir si qqun pouaris maidez pour faire un systeme de login/inscription en se connectant a la base de donner ou sans..Exemple:-->
systeme de news en xml et php [ par ares666 ]
Bonour,Je voudrais faire un systeme de news en php et xml mais je bloque completement.Je me suis documenté un peu mais je ne comprend rien au RSS-XML
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
PHP MAIL :/PHP MAIL :/ par remitete
Cliquez pour lire la suite par remitete RE : PHP/SNMPRE : PHP/SNMP par enissay128
Cliquez pour lire la suite par enissay128 AU SECOURSAU SECOURS par trc382
Cliquez pour lire la suite par trc382
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|