Aller au contenu

[PHP]verifier si une adresse répond


Messages recommandés

Posté(e)

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)

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)

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)

Comme sa sa marche aussi (et pas besoin d'exec :D )

<?
if (@fclose(@fopen("http://www.google.fr", "r"))) { 
print("URL OK"); 
} else { 
print("URL PAS OK"); 
} 
?>

Voila voila :yes:

Posté(e)

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)

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

Posté(e)

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.

×
×
  • Créer...