kostenloser Webspace werbefrei: lima-city


Server Status

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t****k

    Hallo,

    ich habe eine Statusabfrage ob der Server online bzw. offline ist, sieht folgendermaße aus:

    <html>
    <head>
    <title>Onlinestatus</title>
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="refresh" content="30">
    </head>
    <body>
    <center>
    <h1>Onlineanzeige</h1>
    <table border="1" width="768px">
    <tr>
    <td>Name:</td>
    <td>IP-Adresse:</td>
    <td>Status:</td>
    </tr>
    <! ------------------------------------->
    <tr>
    <td>Gateway</td>
    <td><a href="http://192.168.1.1/" target="_blank">192.168.1.1</a></td>
    <td><?php $fp = @fsockopen("192.168.1.1",80,&$errno,&$errstr,2); if(!$fp) { echo "Offline :-("; } else { echo "Online :-)"; } ?></td>
    </tr>
    <! ------------------------------------->
    </table>
    </center>
    </body>
    </html>


    nun meine Frage, wie kann ich das machen das er nach Dateien frägt die im Verzeichniss liegen, sobald die Datei nicht erreichbar ist steht Offline. Sollte aber wenns geht ein extra Script sein muss nicht so aufgebaut sein wie dieser Script ganz einfach:
    Forum - Online
    Homepage - Online
    Statistik - Offline

    Die Datei liegt im Verzeichniss /Forum/statusabfrage.php, wenn diese Datei fehlt dann sollte stehen: Forum ist derzeit nicht erreichbar.

    Ist diese da:
    Forum ist derzeit erreichbar.

    Mit freundlichen Grüßen

    Tobias Kein

    Beitrag zuletzt geändert: 4.1.2011 21:25:09 von tobitk
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Etwas in der Richtung wie zB
    if (!$stream = fopen("http://domain.tld/forum/testdatei"))
    {
            echo "Forum offline!";
    }
    else
    {
            echo "Forum online!";
            fclose($stream);
    }
    sollte gehen. Du könntest aber auch andere Methoden wie file_exists() oder is_readable() verwenden. Siehe PHP-Duko.
  4. g****e

    ja, das hab ich ne idee für dich: der socket ist blöööööd^^
    mein tipp: arbeite mit Streams. hier der beispiel:

    if ( fopen( 'http://example.de/forum/index.php' , 'r' ) !== FALSE ) { echo 'online'; } else { echo 'offline'; }


    mit dem stream kannst du direkte files anfragen, also fragen ob das file eine antwort gibt (also öffnebar ist für einen browser zb). der returnwert bei misserfolg ist FALSE, also ist alles andere wohl ein online.

    nachzulesen: http://de3.php.net/manual/de/function.fopen.php

    viel erfolg damit ;-)
  5. Autor dieses Themas

    t****k

    Danke, wenn die datei nun nicht auf dem Server existiert dann steht offline, oder?

    währe da nicht file_exists() besser des frägt direkt danach oder?

    Gruß Tobi

    Beitrag zuletzt geändert: 4.1.2011 22:03:41 von tobitk
  6. Auszug aus der PHP-Doku zu file_exists():
    Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

    Bitte lies die Dokumentation wirklich selbst, das würde die Sache wesentlich vereinfachen.
  7. Autor dieses Themas

    t****k

    Hallo,

    alle Dateien wie Forum etc. liegen auf dem selben Server normal wenns ich richtig versteh müsste es dann mit file_exists() funktionieren.

    Gruß Tobi
  8. Die Dateien müssen nicht nur auf dem selben Server liegen, sondern in einer Umgebung, auf die du bzw. der PHP-User (z.b.www-data) zugreifen kann.
  9. Autor dieses Themas

    t****k

    Hallo,

    irgendwie funktioniert das noch nicht.

    habe folgendes in serverstatus.php kopiert:

    if (!$stream = fopen("http://domain.tld/forum/testdatei"))
    {
            echo "Forum offline!";
    }
    else
    {
            echo "Forum online!";
            fclose($stream);
    }


    Siehe:http://lokalbook.onpw.de/serverstatus.php


    Mit freundlichen Grüßen

    Tobi

    Beitrag zuletzt geändert: 5.1.2011 17:13:59 von tobitk
  10. tobitk schrieb:
    Hallo,

    irgendwie funktioniert das noch nicht.

    habe folgendes in serverstatus.php kopiert:

    if (!$stream = fopen("http://domain.tld/forum/testdatei"))
    {
            echo "Forum offline!";
    }
    else
    {
            echo "Forum online!";
            fclose($stream);
    }


    Siehe:http://lokalbook.onpw.de/serverstatus.php

    Mit freundlichen Grüßen

    Tobi


    Herje, muss man dir alles vorkauen?

    So gehts:

    <?php if (!$stream = fopen("http://domain.tld/forum/testdatei"))
    {
            echo "Forum offline!";
    }
    else
    {
            echo "Forum online!";
            fclose($stream);
    } ?>


    Die Start und End Klammern nicht vergessen (<?php ?>)



    Beitrag zuletzt geändert: 5.1.2011 23:26:55 von virtual2
  11. Autor dieses Themas

    t****k

    uia, das is ja jetzt gleic peinlich.
  12. Verzeihung, ich vergaß bei fopen() den Modus anzugeben.
    Bevor du von jemandem einfach Code kopierst solltest du sicher sein, ihn zu verstehen und im Zweifellsfall die DOKUMENTATION LESEN!
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!