ran-tan-plan Posted March 14, 2004 Share Posted March 14, 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? Link to comment Share on other sites More sharing options...
XZombi Posted March 15, 2004 Share Posted March 15, 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 Link to comment Share on other sites More sharing options...
ran-tan-plan Posted March 16, 2004 Author Share Posted March 16, 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 Link to comment Share on other sites More sharing options...
XZombi Posted March 16, 2004 Share Posted March 16, 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. Link to comment Share on other sites More sharing options...
Country Posted March 17, 2004 Share Posted March 17, 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 Link to comment Share on other sites More sharing options...
XZombi Posted March 17, 2004 Share Posted March 17, 2004 M'a tester ca vieux. Link to comment Share on other sites More sharing options...
ran-tan-plan Posted March 17, 2004 Author Share Posted March 17, 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. Link to comment Share on other sites More sharing options...
Country Posted March 17, 2004 Share Posted March 17, 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 ) Link to comment Share on other sites More sharing options...
XZombi Posted March 17, 2004 Share Posted March 17, 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. Link to comment Share on other sites More sharing options...
Country Posted March 17, 2004 Share Posted March 17, 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: Link to comment Share on other sites More sharing options...
XZombi Posted March 18, 2004 Share Posted March 18, 2004 Ah bon, merci Je débute en php, alors je suis pas très fort. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.