Datei-Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datei-Abfrage

    Moin, nach dem ich inzwischen endlos in verschiedenen Threads und Büchern gewälzt habe ohne eine funktionierende Antwort zu finden, frag ich jetzt einfach mal hier.
    Zum Problem, Ich habe meine Domains bei verschiedenen Hostern untergebracht, u.a. auch 2 Banner-Server. Ich möchte nun bei Ausfall eines der Server die Scripts automatisch umschalten lassen, so dass immer Banner angezeigt werden.
    Kurzum, wenn Banner-A ausfällt, sollen die Banner von Banner-B geladen werden und ggf. umgekehrt. Soweit die Theorie, in der Praxis hab ich mittlerweile einige Dinge ausprobiert, allerdings hat das alles nicht wirklich funktioniert, zumal in die Abfragen bzw. Scriptaufrufe mit echo noch in HTML unterbringen muß.
    Ich hab also zunächst mit fopen (adresse, r) versucht, die Zieldatei zu öffnen, geht das nicht, ist die Adresse nicht erreichbar und es soll auf den anderen Banner-Server verzweigt werden, bedauerlicherweise funzt das aber nicht, entweder wird garnichts angezeigt, auch nicht die Fehlermeldung oder aber beide Tabellenrahmen mit entweder nur einem oder beiden Bannern bzw. Teile des Quellcodes.

    Meine Frage nun, gibt es eine elegantere Lösung, die Existens der Datei abzufragen und dann entsprechend zu verzweigen?

    MfG, Abo
    ... der Teufel steckt nicht nur im Detail ...

  • #2
    PHP-Code:
    if( is_file('http://bannerserver.de/dein_banner.gif') )
    {
          
    $banner_available 1;

    ????
    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

    Kommentar


    • #3
      naja, das sind u.u. verschiedene sachen. du willst ja nicht die existenz, sondern die erreichbarkeit hinterfragen.

      der ansatz mit fsockopen ist soweit richtig. das vorgehen ist evtl. noch nicht vollständig:

      1. lässt sich eine socket-verbindung an den 80-er port nicht herstellen, ist die datei nicht erreichbar.
      2. steht die verbindung, schick einen HEAD um sicher zu gehen, dass die datei auch erreichbar ist. wenn die antwort 200 lautet, gib das bild aus - es ist erreichbar.

      Kommentar


      • #4
        Hi again,
        ich scheine mich ob der späten Uhrzeit nicht sehr präzise ausgedrückt zu haben, hmm, also daher noch mal der Reihe nach:

        Das Script (EasyLink 1.47) soll standardmäßig einen Banner-Server (Server A) includen, ist der nicht erreichbar, soll alternativ ein anderer Banner-Server (Server B) included werden. Die beiden Banner-Server sind dabei auf unterschiedlichen Servern bzw. Domains untergebracht.

        Was ich bisher gemacht habe, allerdings eher erfolglos, war folgendes:

        Ich habe mit fopen versucht, den Default-Banner-Server A mit der entsprechenenden Aufrufdatei, hier call.php, zu öffnen, und für den Fall, dass das nicht funzt, per if/else auf Banner-Server B verzweigt.

        Von der Theorie her müßte Banner-Server A ein False zurück geben, wenn das Lesen der Datei nicht möglich ist, da gibt es aber schon den ersten Fehler, bekomme ich da garnichts zurück :-(
        Das ganze mit festen Variablen getestet, funktioniert in reiner PHP-Umgebung, bringe ich das ganze aber in das HTML-Template ein, wahlweise mittels <? Abfrage und unterschiedliche Aufrufe ?> oder aber auch mittels Echo passiert garnichts. Zwar hatte EL bis zur 1.46 Probs mit formatierten HTML-Codes, diese sollte aber inzwischen beseitigt sein.

        Bedauerlicherweise funktioniert file_exist nur lokal, zu fsockopen fehlt mir die entsprechende Doku, selfPHP schweigt sich dazu aus, meine diesbzgl. Bücher leider auch.

        Gruß, Abo

        Anbei mein Code:

        <?php
        $server_a = fopen ("http://www.server1.de/call.php", "r"); // Banner-Server A
        if (!$server_a) {
        echo "<script src='http://www.server2.de/call.php?show=1'></script>"; // Banner-Server B
        exit;
        }
        else {
        fclose($server_a);
        echo "<script src='http://www.server1.de/call.php?show=1'></script>"; // Banner-Server A
        }
        ?>
        Zuletzt geändert von Abo; 10.06.2006, 20:53.
        ... der Teufel steckt nicht nur im Detail ...

        Kommentar


        • #5

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar

          Lädt...
          X