fan: Testen ob Bild vorhanden

Hallo,

wie kann man mit PHP testen, ob ein Bild auf einem ext. Server vorliegt und ggf ausgeben.

Momentan binde ich die Bilder einfach mit <img ... > ein und habe immer ein "Fehlerbild", wenn es dort nicht vorhanden ist. Das möchte ich vermeiden.

Gruss
fan

  1. versuche es mal so:

    <?PHP

    $fp=@fopen("http://www.domain.de/bild.jpg","r");
    if(!$fp){
     $variabel="Bild offline";
    }else{
     $variabel="Bild online";
    }

    ?>

    dann hast du in $variabel den Status vom Bild

    1. Hallo,

      danke an euch für Eure Hilfe. Ich werde es so bald wie möglich ausprobieren.

      Gruß
      fan

  2. Hallo,

    wie kann man mit PHP testen, ob ein Bild auf einem ext. Server vorliegt und ggf ausgeben.

    Die von Jens vorgeschlagene - kurze und simple - Methode
    mit fopen() hat einen kleinen Nachteil: Sie setzt voraus,
    dass allow_url_fopen gesetzt ist.
    http://www.php.net/manual/de/ref.filesystem.php#ini.allow-url-fopen
    Diese Konfigurationsvariable kann zwar auch im Skript
    selbst gesetzt werden mit ini_set(), aber PHP kann
    offenbar so kompiliert werden, dass dies nicht moeglich ist.
    http://www.php.net/manual/de/install.configure.php#install.configure.disable-url-fopen-wrapper

    In dem Fall gibt es immer noch die Moeglichkeit, mit
    fsockopen() eine HTTP-Head-Anfrage auf die URL zu machen.
    Wenn der Status Code == 200 ist, ist das Bild erreichbar.

    Du kannst das Skript von Johannes Froemter entsprechend anpassen.
    dclp-FAQ: Wie überprüfe ich Hyperlinks auf ihre Gültigkeit?
    http://www.dclp-faq.de/q/q-code-links-testen.html
    http://froemter.de/php/phpLinkCheck.phps

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  3. Hello,

    man beschafft sich mit einem, HEAD-Request den Header für das Bild und schaut mit get_all_headers() rein und findet hoffentlich dann den Mime-Type für ein Bild vor.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen