mk4711
Goto Top

PHP - Ergebnis von ping xxx.xxx.xxx.xxx Auswerten in True oder False

Hi.
ich schreibe gerade für meine Schule ein kleines Netzwerk Adminsitration System, basieren auf PHP, HTML, Batch,
ich möchte einzelene Server und Rechner im Netzwerk anpingen und wenn der Server o. Rechner online ist True zurückbekommen oder wenn nicht False das ganze mit PHP. Habt ihr eine Idee wie ich das machen könnte? Oder ob ich das ganze in einer anderen Sprache schreiben solte ?

Gruß mk4711

Content-Key: 47436

Url: https://administrator.de/contentid/47436

Printed on: April 25, 2024 at 09:04 o'clock

Member: Dani
Dani Dec 27, 2006 at 01:58:38 (UTC)
Goto Top
Moin,
hmmm...also statt true oder false könntest du auch den String ausgeben der zurückgeben wird.

...
$arrLog = array();
$arrLog = shell_exec('ping 127.0.0.1');  
foreach ($arrLog AS $logline)
 {
   echo $logline."  
";  
 }
....
Den Code habe ich NICHT getestet.


Gruß
Dani
Member: mk4711
mk4711 Dec 28, 2006 at 11:03:57 (UTC)
Goto Top
Hi,
danke für deine Idee klappt aber leider nicht.
Wäre es möglich aus der ausgabe von System(ping xxx.xxx.xxx.xxx) etwas positives auslesen also z.b. 0% Verlust. und dann über

if($ping == "0% Verlust"){
echo "online";
}esle{
echo "offline";
}

könnte mir jemand sagen wie ich das auslese ?

Gruß
mk4711
Member: Dani
Dani Dec 28, 2006 at 11:40:54 (UTC)
Goto Top
Hi,
also das hier funktioniert. Das PHP-Script ist für einen Windowsserver ausgelegt. Da der Ping unter UNIX ein bisschen anders ausgelegt´ist.

//-------------------------
$max_count = 10;
// -------------------------


//Formular abgeschickt
If ($_GET['submit'] == "Ping")   
{
  $submit = $_GET['submit'];  
   $count  = $_GET['count'];  
   $host   = $_GET['host'];  
   
   If ($count > $max_count) {$count = $max_count;}
   else 
   {
      $host= preg_replace ("/[^A-Za-z0-9.-]/","",$host);  
      $count= preg_replace ("/[^0-9]/","",$count);  
      echo '<body bgcolor="#FFFFFF" text="#000000"></body>';  
      echo("Ping Output:  
");   
      echo '<pre>';             
      system("ping -n $count $host");  
      echo '</pre>';  
    }
} 
else 
{
    echo "<p><font size='2'>Your IP is: ".$_SERVER['REMOTE_ADDR']."</font></p>";  
    echo "<form methode='post' action='".$PHP_SELF."'>";  
    echo "   Enter IP or Host <input type='text' name='host' value=''></input>";  
    echo "   Enter Count <input type='text' name='count' size='2' value='4'></input>";  
    echo "   <input type='submit' name='submit' value='Ping'></input>";  
    echo "</form>";  
}

Gruß
Dani