PHP: Mon portable Android est détecté sous linux [Résolu/Fermé]

Signaler
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
-
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
-
Bonjour,

j'ai crée un site étant censé affiché le système d'exploitation du visiteur.
J'ai essayé avec Windows et Linux, et le système d'exploitation était affiché correctement. Mais, lorsque j'ai essayé avec mon portable tournant sous Android, il affiche Linux.
Voici le code:

<?php
if (ereg("Linux", $_SERVER["HTTP_USER_AGENT"])){
    $os = "Linux";
}else if (ereg("WinNT", $_SERVER["HTTP_USER_AGENT"])||ereg("Windows NT", $_SERVER["HTTP_USER_AGENT"])){
    $os = "Windows";
}else if (ereg("Windows 98", $_SERVER["HTTP_USER_AGENT"])||ereg("Win98", $_SERVER["HTTP_USER_AGENT"])){
    $os = "Windows";
}else if (ereg("Windows 95", $_SERVER["HTTP_USER_AGENT"])||ereg("Win95", $_SERVER["HTTP_USER_AGENT"])){
    $os = "Windows";
}else if (ereg("Macintosh", $_SERVER["HTTP_USER_AGENT"])||ereg("Mac_PowerPC", $_SERVER["HTTP_USER_AGENT"])){
    $os = "Mac OS";
}else{
   $os = "Autre";
}
echo "$os";
?>


Merci de me dire si c'est normal que mon portable soit détecté sous Linux, ou me donner un meilleur code/modifier celui-ci.

8 réponses

Messages postés
146
Date d'inscription
vendredi 18 avril 2014
Statut
Membre
Dernière intervention
23 janvier 2017
12
C'est normal, Android est un Linux.

Tourne-toi vers JavaScript, les infos HTTP ne sont pas suffisantes pour faire ce genre de descriptif.
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
Merci, je ne savais pas que Android était un Linux.
Je vais voir ce que je trouve du côté de Javascript.
Messages postés
284
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
21 avril 2016
69
tout systeme d'exploitation a un source !
Windows : windows
linux : unix
os x : linux
android : linux
ios : linux
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
Oui, tout systeme d'exploitation a une source, mais
Windows = windows.....
Peut-être que Android aurait eu comme source Android ou autre chose que Linux.
Messages postés
284
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
21 avril 2016
69
pour windows, c'est windows. 'windows NT'
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
Et, par exemple, Linux affiche Linux, pas Unix (ou Autre, avec mon code), mais Lunix, bien qu'il provienne d'Unix.
Ce n'est pas parce que Android vient de Lunix que Lunix aurait forcément été détecté (même si c'est le cas)
Messages postés
284
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
21 avril 2016
69
Prend pas mal mon com mais c'est linux petit windosiens.
Oui je sais bien pour androidi, il y a surement quelque chose pour detecter android, faut chercher :
$ua = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/iphone/i',$ua) || preg_match('/android/i',$ua) || preg_match('/blackberry/i',$ua) || preg_match('/symb/i',$ua) || preg_match('/ipad/i',$ua) || preg_match('/ipod/i',$ua) || preg_match('/phone/i',$ua) )
{
echo'Vous etes sur un téléphone!';
}

Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
Merci pour le code.
Discussion résolue.