Php.. trouver l'OS !

zdoobz -  
 CB -
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

  1. grofwa Messages postés 440 Statut Membre 479
     
    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
  2. grofwa Messages postés 440 Statut Membre 479
     
    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
  3. grofwa Messages postés 440 Statut Membre 479
     
    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
  4. zdoobz
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zdoobz
     
    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
  7. CB
     
    http://dewep.net/Script-1/Recuperer-l_OS-et-le-Navigateur-du-visiteur

    :)
    0