//cette fonction permet de pinger une machien distante et donc de vérifier qu'elle est disponible'
//elle retourne 1 si elle ets disponible
//0 si la machien est down
function ping($host,$port=80,$udp=0)
{
if ($udp){
$proto="udp://";
}
$sock = fsockopen ($proto.$host, $port, &$errno, &$errstr, 5);
if ($sock){
fclose($sock);
return 1;
}else{
return 0;
}
}
//------------------------------------------------------------------------
//Cette fonction permet d'afficher uen led en fonction de l'etat du serveur'
//rouge si le serveur est down
//vert si le serveur est dispo à recevoir un client
function printping($host,$port=80,$udp=0){
if (ping($host,$port,$udp)){
$img = "greendot.gif";
$msg = "$host: ".gethostbyname("$host");
}else{
$img = "reddot.jpeg";
$msg = "$host: offline";
}
echo $host;
print "<IMG SRC=\"$img\" WIDTH=\"10\" HEIGHT=\"10\" ALT=\"$msg\" BORDER=\"0\"> ";
}
Dans ma page php, j'ouvre un fichier de serveur et donc je recupere chaque serveur et je le ping mais ca marche pas la fonction me retourne toujours zero.
$taille = filesize($servers_file); //donne la taille du fichier
$fp = fopen($servers_file,'r'); //ouverture du fichier en lecture seule
while(!feof($fp)) //feof indiquera la fin du fichier, donc dans cette boucle, le fichier est parcouru jusqu'à la fin
{
$ligne = fgets($fp,$taille); //lecture du fichier et stockage dans la variable ligne
printping($ligne);
//print $ligne.'<br>'; //affiche la ligne à l'écran, n'oubliez pas le <br> qui est le retour à la ligne html
}
fclose($fp); //pensez à refermer à la fin du script
Meric de me répondra si vous avez une solution ;)))