Posté(e) le 14 mars 200421 a Hello, Je suis en train de développer un script dont le but est de vérifier si un serveur Battlefield ou teamspeak fonctionne ou pas. Le principe est le meme que la fonction ping sous Win. Si on fait ping 192.168.1.12:8767 par exemple, il retourne quelque chose donc ca veut dire que le serveur est ON. Maintenant, la meme chose en PHP. J'arrive pas à trouver de fonction qui "ping" une adresse. Y a bien fsockopen mais ca ne marche pas avec le serveur TeamSpeak. Ca fait 2 heures que je parcour le site php.net a la recherche d'une autre fonction qui marche mais rien n'y fait. Une idée?
Posté(e) le 15 mars 200421 a Tiens <?php $str=exec("ping -c 1 -w 1 127.0.0.1",$a,$a1); if(strstr($str, "100%")!=0) header("Location: http://www.google.ca/"); //si ca ping pas else header("Location: http://www.pcinpact.com"); //si ca ping
Posté(e) le 16 mars 200421 a Auteur ouech j'avais pensé au exec mais le probleme c'est que cette fonction est désactivée sur les 99,99% des serveurs
Posté(e) le 16 mars 200421 a Oui je sais, c'est le problème... Si tu trouve une autre manière, je vais pouvoir être indépendant de mon hébergeur actuel qui supporte le exec. En fait c'est un ami qui le host.
Posté(e) le 17 mars 200421 a Comme sa sa marche aussi (et pas besoin d'exec ) <? if (@fclose(@fopen("http://www.google.fr", "r"))) { print("URL OK"); } else { print("URL PAS OK"); } ?> Voila voila
Posté(e) le 17 mars 200421 a Auteur je commence a désespérer...ca marche toujours pas avec mes serveurs. j'ai mis ca <? if (@fclose(@fopen("udp://192.168.1.20:8767", "r"))) { print("URL OK"); } else { print("URL PAS OK"); } ?> pourtant l'adresse est correcte. J'ai meme indiqué le port.
Posté(e) le 17 mars 200421 a Heuu bin ce truc marche pour vérifier une adresse internet mais pour un udp.... Tu devrai pouvoir faire sa avec la fonction fsockopen ( Voir manuel PHP )
Posté(e) le 17 mars 200421 a Pourrais-je savoir : (@fclose(@fopen("udp://192.168.1.20:8767", "r"))) Ca fait quoi exactement, pourquoi un @ en avant aussi d'une fonction que je connais même pas.
Posté(e) le 17 mars 200421 a fopen("udp://192.168.1.20:8767", "r") A la base sa c'est fait pour ouvrir des fichiers, la sa ouvrai le fichier qui ce trouve a l'adresse fournie (comme je lavai utilisé avec un site internet sa ouvrai le fichier index.php, index.html... vers lequel était redirigé le nom de domaine ) , le petit "r" après c pour dire qu'on l'ouvre en lecture (read). Le fclose c'est pour refermer le fichier tout de suite. Et le petit @ devant fopen et fclose c'est pour ne pas afficher les erreurs quand il y en a ( genre il arrive pas a ouvrir les fichiers ). Voila :clinoeil:
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.