Php.. trouver l'OS !

Fermé
zdoobz - 23 juil. 2004 à 12:55
 CB - 1 mai 2011 à 09:08
Huhu coucou les genxXx..
merci de m'aider continuellement deja!
cette fois si j'ai un new prob..
j'aurais bien aimé savoir comment trouver l'OS du visiteur ..
Qu'elle variable utliser? ..?
MArchixXx

7 réponses

grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
23 juil. 2004 à 14:06
Comprends pas trop ton soucis...
La variable HTTP_USER_AGENT te renvoie toutes les infos sur le browser et le système d'exploitation. Le problème, c'est que chaque système d'exploitation et chaque browser renvoie le texte qu'il veut, du coup, c'est pas super bien structuré.
Mais si tu utilises le code ci-dessus, ça fonctionne.

A la fin du script, les constantes NW_IS_LINUX, ... sont définies en fonction du système d'exploitation.

Michael.


Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
3
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
23 juil. 2004 à 14:19
Oui, je ferais
if ($NW_IS_LINUX)
echo"$NW_LINUX;
...


M.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
3
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
23 juil. 2004 à 13:32
Salut !

Voici. (copié-collé, emballé, pesé)
// Temporary Variables
// The useragent string (lowercase to simplify testing)
$_nw_ua = strtolower(@$_SERVER["HTTP_USER_AGENT"]);
// Browser Detection { ======================================================
// Version checking, each one of these will take a float value describing the
// version number, or - if the user is not using that browser - zero.
// Generic code-name "Mozilla" version
define("NW_MOZ_VERSION", preg_match('/mozilla\/(\d+\.\d+)/',
       $_nw_ua, $_nw_v) ? (float)$_nw_v[1] : 0);
// KDE's Konqueror
define("NW_IS_KONQ", preg_match('/konqueror\/(\d+\.\d+)/',
       $_nw_ua, $_nw_v) ? (float) $_nw_v[1] : 0);
// Opera software Opera
define("NW_IS_OPERA", preg_match('/opera[\s\/](\d+\.\d+)/',
       $_nw_ua, $_nw_v) ? (float) $_nw_v[1] : 0);
// Microsoft Internet Explorer
define("NW_IS_IE", !NW_IS_OPERA && preg_match('/msie (\d+\.\d+)/',
       $_nw_ua, $_nw_v) ? (float) $_nw_v[1] : 0);
// Gecko-based browsers, such as Mozilla, Netscape 6, DocZilla,
// K-Meleon, etc.
define("NW_IS_GECKO", preg_match('/gecko\/(\d+)/',
       $_nw_ua, $_nw_v) ? (float) $_nw_v[1] : 0);
// Netscape Navigator (all versions, including Gecko-based browsers)
define("NW_IS_NN", NW_IS_GECKO ? (preg_match('/netscape6*\/(\d+.\d+)/', $_nw_ua, $_nw_v) ?
       (float) $_nw_v[1] : 0) : ((!NW_IS_OPERA && !NW_IS_KONQ && !NW_IS_IE) ?
       NW_MOZ_VERSION : 0));
// An old 3rd generation web browser
define("NW_IS_GEN3", NW_IS_NN < 4 || NW_IS_OPERA < 4 || NW_IS_IE < 4 || NW_MOZ_VERSION < 4);
// } Browser Detection ======================================================
// Generic Platform Detection { =============================================
define("NW_IS_LINUX", strstr($_nw_ua, "linux") !== false);
define("NW_IS_MAC", strstr($_nw_ua, "mac") !== false);
define("NW_IS_SOLARIS", (strstr($_nw_ua, "solaris") !== false) ||
       (strstr($_nw_ua, "sunos") !== false));
define("NW_IS_X11", strstr($_nw_ua, "x11") !== false);
define("NW_IS_WINDOWS", strstr($_nw_ua, "win") !== false);
define("NW_IS_OS2", strstr($_nw_ua, "os2") !== false);
// } Generic Platform Detection =============================================
unset($_nw_ua, $_nw_v); // clean-up


Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
1
Marchi pr le code ..
ceci di j'ai kelke petit probleme avec..
j'ai l'impression k'il manque une variable pr detecter l'os
pi par nature ton code n'affiche rien alors j'ai mi un petit:
echo "-> $_nw_ua, $_nw_v<br>"; /* juste avant ce qui sui lol */
// } Generic Platform Detection =============================================
ca me di un peu nimporte koa.. c pas très fiable je trouve j'ai tester sous deux browser.. pk ce fier o Http_user_agent..?
marchixXx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Si ce sont des fonctions,
pr chacune d'elle , afin d'aficcher tout correctement,
je devrai faire quelque chose comme:
if (!empty($NW_IS_LINUX))
echo $NW_IS_LINUX;
elseif (!empty($NW_IS_LINUX))
echo $NW_IS_MAC;
etc.. non?
0
0
http://dewep.net/Script-1/Recuperer-l_OS-et-le-Navigateur-du-visiteur

:)
0