Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, gibt es einen Befehl, mitdem man einfach einen Ping ausführen kann auf eine beliebige IP, die in der variable $ip steht ausführen und der dann nen rückgabewert gibt, ob erfolgreich oder fehlerhaft ?

<?

if (!ping($ip))

{

echo("Server down");

}

?>

^sowas in der Art, gibt es sowas und wie geht das ?

Brauch dringend Hilfe, THX !

Gruß ranger81

Geschrieben

<?

$ip = "www.lin.ux";

$online=exec("ping $ip -c 1");

// $online=exec("ping $ip -n 1"); // für WINDOZ

if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {

print "ping nach $ip funzt nit<br>\n";

} else {

print "ping nach $ip funzt<br>\n";

}

?>
[/PHP]

Geschrieben

Hallo, keine ahnung ob linux oder windows, aber hab jetz mal das script hier genommen und seht selbst... er gibt einfach nix aus:

<?

$ip = "www.irgend.einen.*******.de";

$online=exec("ping $ip -c 1");

// $online=exec("ping $ip -n 1"); // für WINDOZ

print "Die Variable Online enthaelt: $online<br><br>";

if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {

print "ping nach $ip funzt nit<br>\n";

} else {

print "ping nach $ip funzt<br>\n";

}

?>

und er sagt immer, dass der ping funzt, obwohl es die adresse nicht gibt...

http://mitglied.lycos.de/ranger81/test2.php

Geschrieben


if (eregi("unbekannter host", $online) || eregi("unknown host", $online)) {
[/php]

Das hier scheint das Problem zu sein .

Die eregi Funktion müsste eigentlich nach einem anderen String suchen.

Teste es gerade bei mir lokal - welche genau passt.

MfG Tool-Time :)

Geschrieben

@blast

Wie Ranger81 schon sagte wird leider die in der Variable $online nicht die Ausgaben/ Antwort von exec gespeichert.

Es geht unter Windows auch ohne die Pfadangabe :

So gibt z.B.


$status = passthru("ping $ip"); # win
[/php]

wird die gesamte Antwort vom Ping zurückgeben (bei exec nur die letzte Zeile PHP-Manual).

Dabei wird ersichtlich das der Ping durchgeführt wurde.

MfG Tool-Time :)

Geschrieben

Versuch es bitte einmal so :


<?php
for($i=1; $i<6; $i++)
{
$ip = "10.24.8.$i";
# Linux
#
# $online=exec("ping $ip -c 1");

# Windows
#
# echo"$ip<p>";
# $status = exec("/winnt/system32/ping.exe/ping $ip -n 10", $output, $error);
passthru("ping $ip",$status);

# sleep(5);

if(eregi("100% Verlust", $status)) echo"<p>$ip => bad<p>";
else echo"<p>$ip => ok <p>";
}
echo"Status : $status <p>";

?>
[/php]

Leider geht die Abfrage noch nicht :(

Aber ich arbeite dran .

MfG Tool-Time :StefanE

Geschrieben

Also hier ist die Linux Version.

<?php
for($i=1; $i<6; $i++)
{
$ip = "10.24.8.$i";

// Linux
$online=exec("ping $ip -c 1 -w 2", $output, $error);
if ($error == 0)
echo "<p>".$ip." => OK<p>";
else
echo "<p>".$ip." => Fehler<p>";

}
?>[/php]

Frank

Geschrieben

also auf meinem "localhost" unter linux fäuft das script. naja es wird ja auch hier im geschäft laufen, also klappt es jetz. die webspace anbieter unterbinden wahrscheinlich alle "system"-funktionen denk ich mal. Danke euch allen für die super hilfe ! :D

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...