[PHP] script pour verifier si un host est on-line

script pour verifier si un host est on-line [PHP] - PHP - Programmation

Marsh Posté le 18-06-2006 à 18:17:28    

Bonjour j' ai chez moi un serveur html qui n' est pas tout le temps en ligne  ett j aimerai faire en sorte que mon site puisse indiquer si il est connecté ou pas.
 
j' ai trouvé ce code sur le net:
 
[PHP]
function checkHost ($sHost, $iPort = 80) {
  if (fsockopen ($sHost, $iPort)) {
    return true;
  } else {
    return false;
  }
}[/PHP]
 
mais le fsockopen ne renvois pas false lorsque l' adresse n' existe pas... a la place j' ai  
Warning: fsockopen(): unable to connect to 192.168.0.3:80
 
 
pouvez vous m' aider svp?

Reply

Marsh Posté le 18-06-2006 à 18:17:28   

Reply

Marsh Posté le 18-06-2006 à 18:49:44    

Doc : http://us2.php.net/fsockopen
1er exemple :

Code :
  1. <?php
  2. $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
  3. if (!$fp) {
  4.    echo "$errstr ($errno)<br />\n";
  5. } else {
  6.    $out = "GET / HTTP/1.1\r\n";
  7.    $out .= "Host: www.example.comrn";
  8.    $out .= "Connection: Close\r\n\r\n";
  9.    fwrite($fp, $out);
  10.    while (!feof($fp)) {
  11.        echo fgets($fp, 128);
  12.    }
  13.    fclose($fp);
  14. }
  15. ?>


ce qui donne pour toi un truc du genre :

Code :
  1. <?php
  2. function checkHost ($sHost, $iPort = 80) {
  3. $fp = fsockopen($sHost, $iPort , $errno, $errstr, 30);
  4. if (!$fp) {
  5.    return false;
  6. } else {
  7.    returne true;
  8.    fclose($fp);
  9. }
  10. }
  11. ?>

Message cité 1 fois
Message édité par 2xyo le 18-06-2006 à 18:51:58
Reply

Marsh Posté le 18-06-2006 à 19:00:18    

sauf que j'aurais fait le close avant le return

Reply

Marsh Posté le 18-06-2006 à 22:15:44    

2xyo a écrit :

Doc : http://us2.php.net/fsockopen
 
ce qui donne pour toi un truc du genre :

Code :
  1. <?php
  2. function checkHost ($sHost, $iPort = 80) {
  3. $fp = fsockopen($sHost, $iPort , $errno, $errstr, 30);
  4. if (!$fp) {
  5.    return false;
  6. } else {
  7.    returne true;
  8.    fclose($fp);
  9. }
  10. }
  11. ?>



 
Meme probleme: fsockopen indique qu il ne peut pas ouvrir le site mais renvois pas de false
 

Reply

Marsh Posté le 19-06-2006 à 13:50:41    

Je pense que ça devrais marcher (même si c'est crado..) :  

Code :
  1. function checkHost ($sHost, $iPort = "80" ) {
  2.   $Host = gethostbyname($sHost);
  3.   $fp = @fsockopen($Host, $iPort , $errno, $errstr, 30) or print ("down" );
  4.   if ($fp) {
  5.     fclose($fp);
  6.     echo "up";
  7.   }
  8. }


Reply

Marsh Posté le 19-06-2006 à 14:00:30    

ouais ca marche.. mais c'est crado ;p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed