Fabian: per PHP aktualisiertes Bild wird nicht neu geladen

Hallo Forum Experten,

nachdem ich nun 500 Artikel im Forumarchiev überflogen habe, mußte ich feststellen, auf eine häufige Frage noch immer keine Antwort gelesen zu haben.

Daher möchte ich das Problem noch einmal in den Raum stellen.

Meine Seite zeigt ein Bild z.B. a.gif an.

Per PHP kann der User einen Bildupload durchführen.

Dieser Upload überschreibt das Bild a.gif mit a.gif.

Gleichzeitig mit dem Upload wird PHPSELF aufgerufen.

Der Browser gibt eine Bestätigung aus, dass das Bild aktualisiert wurde, jedoch läd der Broser das Bild wieder aus dem Cache.
Es wird das gleiche Bild wie zuvor angezeigt. Erst bei einem Aktualisieren im Browser "per Hand", erscheint das aktualisierte Bild.

Die Lösung mit dem Meta tag -1 hat nicht funktioniert.

Gibt es evtl. eine andere Lösung, die ganze Seite automatisch einmal neu zu laden?
Oder bin ich auf eine Ausgabeseite angewiesen anstatt PHPSELF?
Oder gibt es eine PHP Lösung?

Vielen Dank für Dein Interesse und deine Hilfsbereitschaft...

Grüße aus Braunschweig

Fabian

  1. Hi!

    Meine Seite zeigt ein Bild z.B. a.gif an.

    Per PHP kann der User einen Bildupload durchführen.

    Dieser Upload überschreibt das Bild a.gif mit a.gif.

    Gleichzeitig mit dem Upload wird PHPSELF aufgerufen.

    Hatte das Problem auch mal. 100%ig geholfen hat erst ein individueller Name oder eine andere Seite. Was ich mal probieren würde, ist das "Ablaufdatum" der Seite in die Vergangenheit zu legen, dadurch wird die Seite 100%ig neu geladen. Zur Zeit fällt mir die Schreibweise nicht ein, gucke aber mal nach.

    Grüße
      Andreas

    1. Hi nochmal!

      Schreibweise war so:

      header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

      Grüße
        Andreas

      1. Hallo!

        Schreibweise war so:

        header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

        IMHO bindet der Cache ein Bild an die URL und gibt dem Bild im Cache ein ID. Bilder mit gleichen Dateinamen sind also kein Problem. Das "nichtcachen" ser Seite ist in der Regel nicht immer sinnvoll.

        Gelöst habe ich da mal so: (timestamp wird am server eingefügt Perl, PHP, etc.)

        <img src="bild.jpg?timestamp=452354921347" width="123" height="456" border="0" alt="Bild">

        Mit JavaScript kann man das auch lösen:

        var timestamp = Date.parse("Tue, 1 Jan 2000 00:00:00 GMT");
        document.images.bildname.src = "bild.jpg?" + timestamp

        <img src="dummy.jpg" name="bildname" width="123" height="456" border="0" alt="Bild">

        Wie kann ich das Caching einer Seite verhindern?
        http://www.koehntopp.de/php/webserver.html#http-caching

        MfG, André Laugks

        1. Danke André und Andreas,

          für die guten Lösungen.

          Ich denke damit wird es funktionieren. Ich werde es auch gleich ausprobieren.

          Viele Grüße aus Braunschweig

          Fabian

        2. Super!!!

          Ich habe mich für die PHP Version entschieden, da ich schon PHP in der Seite eingebunden habe.

          Es hat auch sofort funktioniert!!!

          echo"<img src="$path_logo"."logo2.jpg?timestamp="."$timestamp"></p>";}

          Danke nochmal!!!

          Grüße aus Braunschweig

          Fabian