patrick123: Bild auf externen Server prüfen

Hi Leute,

ich möchte, dass auf meinem HTML Dokument die "bild.jpg", die sich auf einem externen Server befindet angezeigt wird, sofern sie dort vorhanden ist.
Ist jedoch die "bild.jpg" nicht in dem Verzeichnis, soll auf dem HTML Dokument auch nichts angezeigt werden.Derzeit ist es so, dass man beim IE ein Kästchen mit einem X sieht.

Ich habe schon Recherche betrieben das man hier nicht mit dem Befehl "file_exist" arbeiten kann sondern eher mit "fopen"(da Datei auf einem externen Server zu finden ist), jedoch ist mein PHP wissen gleich null und ich konnte keine Lösung finden.

Über Hilfe wäre ich dankbar!

Gruß Patrick

  1. Tach!

    ich möchte, dass auf meinem HTML Dokument die "bild.jpg", die sich auf einem externen Server befindet angezeigt wird, sofern sie dort vorhanden ist.
    Ich habe schon Recherche betrieben das man hier nicht mit dem Befehl "file_exist" arbeiten kann sondern eher mit "fopen"(da Datei auf einem externen Server zu finden ist), jedoch ist mein PHP wissen gleich null und ich konnte keine Lösung finden.

    Das Dateisystem eine fernene Rechners steht dir generell nicht zur Verfügung. Theoretisch dürften weder file_exists() noch fopen() für deinen Test verwendbar sein. Praktisch lassen sich aber doch beide für per HTTP erreichbare Ressourcen verwenden, weil PHP einen eingebauten Wrapper hat, der eine entsprechende Umwandlung vornimmt, wenn man URLs statt Dateinamen übergibt. file_exists() mit URL sollte eigentlich ein Ergebnis liefern.

    dedlfix.

    1. Hi Deddlfix,

      ich habe schon zig code schnipsel aus dem Netz versucht, jedoch alle ohne Erfolg..
      Hast du evt. was parat?

      Vielen Dank.
      Gruß Patrick

      1. Tach!

        ich habe schon zig code schnipsel aus dem Netz versucht, jedoch alle ohne Erfolg..

        Ich muss mich korrigieren, hab grad nochmal nachgelesen. file_exists() benötigt "stat()"-Unterstüzung und die liefert der HTTP-Wrapper nicht. Es geht also nur der Versuch, mit fopen() die Datei zu öffnen. Dafür muss allow_url_fopen erlaubt sein (siehe phpinfo()-Ausgabe).

        Im PHP-Handbuch bei file_exists() steht allerdings in den Nutzerkommentaren eine Möglichkeit, die auch ohne allow_url_fopen auskommt: http://php.net/manual/en/function.file-exists.php#75064

        dedlfix.

        1. Es geht also nur der Versuch, mit fopen() die Datei zu öffnen. Dafür muss allow_url_fopen erlaubt sein (siehe phpinfo()-Ausgabe).

          Ich habe zwei Provider, die unabhängig voneinaner dieses allow_url_fopen innerhalb 24 Stunden freigeschaltet haben. Also einfach bei der Technik nachfragen.

          Linuchs

          1. Tach!

            Es geht also nur der Versuch, mit fopen() die Datei zu öffnen. Dafür muss allow_url_fopen erlaubt sein (siehe phpinfo()-Ausgabe).
            Ich habe zwei Provider, die unabhängig voneinaner dieses allow_url_fopen innerhalb 24 Stunden freigeschaltet haben. Also einfach bei der Technik nachfragen.

            Muss man nicht unbedingt, weil ja kein Inhalt geholt werden soll. Da reicht auch das im verlinkten Nutzerkommentar verwendete get_headers(), und das kommt ohne weitere Rechte aus.

            dedlfix.

  2. Mahlzeit,

    Über Hilfe wäre ich dankbar!

    Prüf mal, ob dir cURL zur Verfügung steht. Das dürfte die sauberste Lösung sein, wenn auch nicht die einzige ;)

    --
    42