peter: PNG Verfallsdatum

Hi,

SCHRITT 1:
ich lade per Formular ein PNG hoch und verarbeite es dann mit php weiter.

SCHRITT 2:
Das hochgeladene PNG wird dann im Browser angezeigt und ich kann per Formular noch zusätzliche Eingaben zum PNG machen.

SCHRITT 3:
Beim Abschicken des Formulars werden dann meine zusätzlichen Eingaben in eine Datenbank gespeichert und das PNG mit entsprechendem Namen in meinen Bilderordner kopiert.

So will ich nacheinander verschiedene Bilder verarbeiten.

Mein Problem liegt bei SCHRITT 2.
Der Browser zieht das Bild immer aus dem Cache, ich bekomme also immer nur das erste Bild angezeigt, das ich hochgeladen habe.
Das Hochladen und zwischenspeichern weiterer PNGs funktioniert, wenn ich den Cache leere, sehe ich das aktuelle Bild.

Habs jetzt schon so versucht:
einbinden mit: <img src="daspng.php">

und folgende PHP (daspng.php):
(mit headern for Cache-control usw. wies in meinem Buch steht)

____________________________________________________

<?php header("Content-Type: image/png");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMZ");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$imgq=imagecreatefrompng('UPLOADED_PNG.png');

imagepng($imgq);

?>
____________________________________________________

wie krieg ich die Browser dazu, das PNG nicht zwischenzuspeichern ?

gruß
peter

    1. 你好 Twilo,

      Grafik immer neu laden lassen

      Schlechter Tipp. Sich jedesmal aendernde URLs sorgen nur fuer ueberlaufende
      Proxies und volle Caches. Wenn ein Bild jedesmal neu geladen werden soll,
      dann reichen die Cache-Header aus:

      Expires: Thu, 1 Jan 1970 00:00:00 GMZ
      Cache-Control: max-age=0

      Alles andere ist kontraproduktiv.

      再见,
       CK

      --
      Kommt ein Nullvektor zum Psychiater: "Herr Doktor, ich bin orientierungslos!"
      http://wwwtech.de/
      1. Hallo,

        Expires: Thu, 1 Jan 1970 00:00:00 GMZ
        Cache-Control: max-age=0

        das muss doch dann in der Datei, die die Grafik erzeugt, oder?

        nur was ist, wenn man eine *.gif Datei als Source angibt,
        wie übermittel ich da den Header?

        mfg
        Twilo

        1. 你好 Twilo,

          Expires: Thu, 1 Jan 1970 00:00:00 GMZ
          Cache-Control: max-age=0

          das muss doch dann in der Datei, die die Grafik erzeugt, oder?

          Es muss in den HTTP-Header der Datei ausgeliefert werden, ja.

          nur was ist, wenn man eine *.gif Datei als Source angibt,
          wie übermittel ich da den Header?

          Mit einer .htaccess-Datei, entweder mit mod_headers oder
          mit mod_expires.

          再见,
           CK

          --
          Treffen sich zwei Geraden. Sagt die eine: "Beim nächsten Mal gibst du einen aus."
          http://wwwtech.de/
          1. Hi Christian,

            danke, das hilft mir erstmal weiter.
            Bin hier jetzt noch etwas am rumbasteln.
            Was ist denn mit denen:

            header("Cache-Control: no-store, no-cache, must-revalidate");
            header("Cache-Control: post-check=0, pre-check=0", false);
            header("Pragma: no-cache");

            ???
            Warum sind die kontraproduktiv?

            nur was ist, wenn man eine *.gif Datei als Source angibt,
            wie übermittel ich da den Header?

            Mit einer .htaccess-Datei, entweder mit mod_headers oder
            mit mod_expires.

            Interessant!! Das werd ich mir mal näher zu Gemüte führen.

            Gruß
            peter

            1. 你好 peter,

              Was ist denn mit denen:

              header("Cache-Control: no-store, no-cache, must-revalidate");
              header("Cache-Control: post-check=0, pre-check=0", false);
              header("Pragma: no-cache");

              ???
              Warum sind die kontraproduktiv?

              Sind sie nicht, das bezog sich auf die Methode, die URI bei jedem Request
              zu aendern. Ansonsten sind da viele Header fuer Proxy-Server dabei, die
              haben wenig Auswirkungen auf den Client.

              再见,
               CK

              --
              Ihr wisst nicht, wie man den Menschen dient. Wie sollt ihr wissen, wie man den Goettern dienen soll?
              http://wwwtech.de/