ran-tan-plan Posté(e) le 14 mars 2004 Partager Posté(e) le 14 mars 2004 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? Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 15 mars 2004 Partager Posté(e) le 15 mars 2004 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
ran-tan-plan Posté(e) le 16 mars 2004 Auteur Partager Posté(e) le 16 mars 2004 ouech j'avais pensé au exec mais le probleme c'est que cette fonction est désactivée sur les 99,99% des serveurs Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 16 mars 2004 Partager Posté(e) le 16 mars 2004 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Country Posté(e) le 17 mars 2004 Partager Posté(e) le 17 mars 2004 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 17 mars 2004 Partager Posté(e) le 17 mars 2004 M'a tester ca vieux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ran-tan-plan Posté(e) le 17 mars 2004 Auteur Partager Posté(e) le 17 mars 2004 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Country Posté(e) le 17 mars 2004 Partager Posté(e) le 17 mars 2004 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 ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 17 mars 2004 Partager Posté(e) le 17 mars 2004 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Country Posté(e) le 17 mars 2004 Partager Posté(e) le 17 mars 2004 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: Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 18 mars 2004 Partager Posté(e) le 18 mars 2004 Ah bon, merci Je débute en php, alors je suis pas très fort. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.