Hallo zusammen,
ich will mir ein kleines PHP Script in mein Intranet einbauen, mit dem ich alle PC's im Netzwerk starten und herunterfahren kann. Dies funktioniert auch soweit. Allerdings will ich noch eine kleinigkeit hinzufügen, nämlich ob der PC gerade Online oder Offline ist. Habe mir gedacht das lässt sich mit einem Ping realisieren. (sollte ja eigentlich auch möglich sein).
habe es mit folgendem Script versucht:
<?php
$iparray=array("Fritzbox:192.168.2.1");
function ping($PC,$ip)
{
$cmd=shell_exec("ping -c 1 -t 2 $ip");
$checker=explode(",",$cmd);
if (eregi("0", $checker[1], $out))
{
$connectionstatus="<img src=\"off.gif\">";
$text="ist offline";
}
if (eregi("unknown", $checker[0], $out))
{
$connectionstatus="<img src=\"err.gif\">";
$text="ist unbekannt / hat einen unbekannten Status";
}
if (eregi("1", $checker[1], $out))
{
$connectionstatus="<img src=\"on.gif\">";
$text="ist online";
}
$output="$connectionstatus [$ip] <b>$PC $text.</b><br><br>";
return $output;
}
while(list($k,$v)=each($iparray))
{
$pcip=explode(":",$v);
$output=ping($pcip[0],$pcip[1]);
echo $output;
}
?>
Dieses verursacht aber nur folgende Ausgabe:
Deprecated: Function eregi() is deprecated in C:\xampp\htdocs\ping.php on line 9
Deprecated: Function eregi() is deprecated in C:\xampp\htdocs\ping.php on line 14
Deprecated: Function eregi() is deprecated in C:\xampp\htdocs\ping.php on line 19
Notice: Undefined variable: connectionstatus in C:\xampp\htdocs\ping.php on line 24
Notice: Undefined variable: text in C:\xampp\htdocs\ping.php on line 24
[192.168.2.1] Fritzbox .
also nicht das gewünschte Ergebnis.
für die IP habe ich ein array angelegt, da ja später noch weitere PC's dazu kommen sollen. zum Testen habe ich erstmal meine Fritzbox benutzt.
Was mache ich falsch? Gibt es andere möglichkeiten mein Problem zu lösen?
Danke schonmal im vorraus
Philipp H.
(bitte nicht allzu komplizierte Antworten, habe auch erst vor 3 monaten mit PHP proggen begonnen.)
Philipp H. (60) 3x Beste Antwort 6x "Danke"
|