executer un bloc d'instruction en fonction de l'OS machine

Eléphant du PHP | 158 Messages

13 avr. 2005, 16:31

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:
°°°Darkbibou°°°

Mammouth du PHP | 859 Messages

13 avr. 2005, 17:00

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

13 avr. 2005, 17:01

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

13 avr. 2005, 17:08

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 ?

Eléphant du PHP | 158 Messages

13 avr. 2005, 17:09

Merci beaucoup pour les réponses, je vai essayer :D
°°°Darkbibou°°°

Mammouth du PHP | 859 Messages

13 avr. 2005, 17:10

Tu as raison mais mon code sert juste de piste ;)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

13 avr. 2005, 17:13

ok :)

Eléphant du PHP | 158 Messages

14 avr. 2005, 10:47

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
°°°Darkbibou°°°