SpoT Geschrieben 26. November 2002 Geschrieben 26. November 2002 Hi, vielleicht könnt ihr mir helfen. Ich müsste von einer webseite also aus einer html datei heraus ein ping an einen server senden und dann erkennen ob ein reply kommt oder nicht. Wie kann ich das basteln ? Also eine Art Auswertung. Kann mir da jemand helfen ? Perl, CGI, Java, PHP? Womit ist das am besten zu realisieren ? Vielen Dank für die Hilfe! Zitieren
Spoom Geschrieben 26. November 2002 Geschrieben 26. November 2002 PHP: exec("ping 192.168.1.1", $output); ping ist OS abhängig ! Zitieren
SpoT Geschrieben 27. November 2002 Autor Geschrieben 27. November 2002 vielen dank, habe es mit asp zum laufen bekommen allerdings recht lahm versuche es jetzt mal mit php... Zitieren
SpoT Geschrieben 28. November 2002 Autor Geschrieben 28. November 2002 Ok php läuft nun soweit. Wie kann ich aber den Ping ausgeben lassen auf den Bildschirm bzw. auswerten (also grün oder rot anzeigen lassen) Danke !!! Zitieren
de_lung Geschrieben 3. Dezember 2002 Geschrieben 3. Dezember 2002 Hallo, anhand de Beispiels von Spoon, zeigst du den Wert mit ' print $output; ' an. für eine farbige anzeige würd eich eine einfach IF Funktion nehmen. if($output > 100ms) print '<font color=red>'.$output.'</font>'; else print '<font color=green>'.$output.'</font>'; bb Zitieren
SpoT Geschrieben 3. Dezember 2002 Autor Geschrieben 3. Dezember 2002 Hi, erstmal danke für die Hilfe. Es geht alles soweit ausser die Ausgabe: Hier mein Programm: -------------------------------------------------------------------------------------------------------- <HTML> <HEAD><TITLE>My First PHP Script</TITLE> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> </HEAD> <BODY> <? exec("ping 192.168.10.10", $output); print $output; #if($output > 100ms) #print '<font color=red>'.$output.'</font>'; #else #print '<font color=green>'.$output.'</font>'; ?> </BODY> </html> ----------------------------------------------------------------------------------------- Die If schleife geht leider nicht, deshalb ausgeklammert! Als Ausgabe kommt leider nur: Array auf einer leeren Seite. Sollte da nicht der ping stehen sprich die ip ob ja oder nein ? nach dem motto: Antowort von .... oder Zielhost nicht erreichbar ? VIELEN DANK!!! Ist wie immer sehr wichtig hier! Zitieren
SpoT Geschrieben 3. Dezember 2002 Autor Geschrieben 3. Dezember 2002 also die if schleife geht jetzt )es fehlten noch ein paarklammern) allerdings geht das mit den >100ms nicht. Dort sagt er immer folgendes: ####################################################### Parse error: parse error, unexpected T_STRING in C:\Inetpub\wwwroot\Fachbereiche\IT\intern\aspping\php.php on line 14 ####################################################### Das Programm wie es jetzt aussieht: ######################################################## <HTML> <HEAD><TITLE>My First PHP Script</TITLE> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> </HEAD> <BODY> <? exec("ping 192.168.10.10", $output); print $output; if($output > 100ms) { print '<font color=red>'.$output.'</font>'; } else {print '<font color=green>'.$output.'</font>';} ?> </BODY> </html> ###################################################### Wie schon gesagt, Vielen Vielen Dank für die Hilfe! Wenn das alles so ginge mit Prüfung auf Zeit wäre echt super! Danke! Zitieren
SpoT Geschrieben 3. Dezember 2002 Autor Geschrieben 3. Dezember 2002 Habe es nun doch hinbekommen wie ich es will außer das man nicht auf Zeit direkt prüfen kann sondern nur auf den Text den die variable zurückliefert! Leider ist das ganze aber mit ca. 10 Rechnern extrem langsam! Hat da jemand noch eine Idee wie das relativ schnell geht, das auflisten der Server ? Danke! Zitieren
de_lung Geschrieben 4. Dezember 2002 Geschrieben 4. Dezember 2002 was steht denn überhaupt in dem array? das zu wissen, wäre ansich ganz sinnvoll sicherlich kann ">100ms" nicht gehen, wenn z.b der erste wert des arrays ne ip oder ein nicht nicht-int wert ist. Insofern da nun einfach der Pingwert steht, wie z.b. "50" machst du jediglich das "ms" (was auch nur zur verständnisshilfe gedacht war) weg, und schwupps, sollte es gehen. Das ganze geht auch ohne Klammern, insofern nach der IF Anweisung nur EINE Zeile steht. Zitieren
SpoT Geschrieben 4. Dezember 2002 Autor Geschrieben 4. Dezember 2002 das jetzt lauffähige Programm: ######################################## <HTML> <HEAD><TITLE>My First PHP Script</TITLE> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> </HEAD> <BODY> <center> <table> <tr> <?php $dd=exec("ping 192.168.0.1"); if($dd == "Request timed out.") { print '<td width=120 bgcolor=#FF3535 align=center>mein PC</td>';} else {print '<td width=120 bgcolor=#40FF40 align=center>mein PC</td>';} ?> </tr><tr> <?php $dd=exec("ping 192.168.0.2"); if($dd == "Request timed out.") { print '<td width=120 bgcolor=#FF3535 align=center>mein PC2</td>';} else {print '<td width=120 bgcolor=#40FF40 align=center>mein PC2</td>';} ?> </tr> </table> </center> <br><br> </BODY> </html> ########################################### wenn ich mir die variable $dd ausgeben lasse steht folgendes drin: Reply from 192.168.0.1: bytes=32 time<10ms TTL=128 ich will das pingen an sich auf der html seite auch garnicht sehen(zur zeit sehe ich das auch nicht) wenn ich aber die anweisung $dd=system("ping 192.168.0.2"); nehme sehe ich die pings und in der variable steht dann auch was anderes drin. Nach dem Programm in den "älteren" posts stand in der variable $output immer nur "Array" und mehr nicht! Vielen Dank! Zitieren
Empfohlene Beiträge
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.