crille: Prüfen, ob Datei auf entfernten Server vorhanden ist

Hallo SelfHTMLer,

Ich bin gerade am Basteln eines Verzeichnis, in dem unter bestimmten Themen, URLs mit dazugehörender Beschreibung gepostet werden können.

Es sollen auch die URLs zu Bildern auf diesen Seiten gepostet werden können. Damit das Ganze ansehbar ist und nicht überall nicht geladene Bilder auf der Seite erscheinen, wäre eine Funktion sinnvoll, die einfach überprüft, ob z.B. die Datei "http://www.php.net/images/php.gif" vorhanden ist oder nicht. Für Dateien auf dem eigenen Server gibt es ja die Funktion "file_exists", aber wie sieht es da mit serverfremden Dateien aus? Unter www.php.net heißt es, dass man per "require()" oder "include()" auf fremde Dateien zugreifen kann, wenn das OS nicht Windows ist, aber ich will ja nur wissen, ob die Datei vorhanden ist und nicht irgendwas aus dem Quelltext der anderen Seite einlesen...

Grüße
crille

  1. Hallo,
    also versuche erstmal ob du mit der Funktion is_file, oder file_exists per URL die Datei prüfen kannst.
    Ansonsten versuche die Datei per fopen zu öffnen. Wenn dies funzt gibts die Datei. Is doch eine Idee, oder?
    $file = @fopen ("http://www.sowieso.de/datei.txt", "w");
    if (!$file) {
        echo "Datei konnte geöffnet werden.\n";
        exit;
    }
    Grüsse
    Stolzi

    --
    Meine PHP_Scripts unter http://stolzi.westo.at
    zB Forum, Album, Mailer, usw.
    1. Hi Stolzi,

      $file = @fopen ("http://www.sowieso.de/datei.txt", "w");

      ^
      Das muss "r" heissen.

      if (!$file) {

      ^--das muss weg.

      Und dann funktioniert es auch.

      Gruss,
        Carsten

      1. Hallo,

        ok r, sonst wirds kaum gehn, da man ja keinen Schreibzugriff hat ;-)) Hast recht. Hab zu schnell getipst

        Aber warum soll "if (!$file) {" weg?? Prüfe da ja nur ob fopen gefunzt hat.
        Kürzer viell:
        if($file = @fopen ("http://www.sowieso.de/datei.txt", "r"))
        {
        }

        Grüsse
        Stolzi

        --
        Meine PHP_Scripts unter http://stolzi.westo.at
        zB Forum, Album, Mailer, usw.
        1. Hallo Carsten & Stolzi,

          Danke für eure Hilfe.

          Ich habe es jetzt so gemacht:

          if (!(@fopen ("$bildurl", "r")))
            {
            ...
            }
            else
            {
            ...
            }

          Im Grunde ist es ja egal, ob man's mit "!" umkehrt oder nicht...

          Grüße und Danke nochmal!
          crille