Page 1 sur 1
executer un bloc d'instruction en fonction de l'OS machine
Posté : 13 avr. 2005, 16:31
par Darkbibou
Salut j'ai un script php qui lance des ping sur tt les IP se trouvant dans une base de données.
Or les options du ping diffère entre windows et linux et mon script devra être utilisé sous les deux OS.
J'aimerai donc savoir si il existe une boucle pour detecter l'OS installé sur le système où la page est lancée.
merci d'avance pour vos :idea:
Posté : 13 avr. 2005, 17:00
par flitox
Bon je te passe un script de ma composition
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.1")!==FALSE)
{ $os = "Windows XP"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.2")!==FALSE)
{ $os = "Windows 2003"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "Windows NT 5.0")!==FALSE)
{ $os = "Windows 2000/Me"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "Windows 98")!==FALSE || strpos($_SERVER['HTTP_USER_AGENT'], "Win98")!==FALSE)
{ $os = "Windows 98"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "Linux")!==FALSE)
{ $os = "Linux"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "WinNT4.0")!==FALSE)
{ $os = "Windows NT 4.0"; }
else if (strpos($_SERVER['HTTP_USER_AGENT'], "Netscape")==TRUE)
{ $os = "Netscape"; }
else
{ $os = "autre"; }
echo "Vous tournez sous ".$os;
?>
en espérant que ça t'aidera...
Posté : 13 avr. 2005, 17:01
par ouckileou
je ne peux pas te dire comment faire directement mais moi je regarderai du coté des variables d'environnements et de $_ENV
regarder par exemple la présence d'une variable spécifique à Linux ou Windows
Posté : 13 avr. 2005, 17:08
par ouckileou
flitox, ton code permet de connaitre l'OS de la personne qui appelle la page, pas l'OS sous lequel tourne PHP
est-ce moi qui m'embrouille ?
Posté : 13 avr. 2005, 17:09
par Darkbibou
Merci beaucoup pour les réponses, je vai essayer :D
Posté : 13 avr. 2005, 17:10
par flitox
Tu as raison mais mon code sert juste de piste

Posté : 13 avr. 2005, 17:13
par ouckileou
ok

Posté : 14 avr. 2005, 10:47
par Darkbibou
En fait mon problème est que je souhaite lancer un ping sur une liste d'ip présente dans une base de données mais ceci quelque soit l'OS de la machine lancant mon script (win 2000 ou linux ) or les option du ping diffère donc il faut que je test l'OS de cette machine.
Je pense donc que le code que vous m'avez donné va me servir :D
merci beaucoup