Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP-Bild verändert sich erst nach direktem Aufruf

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] PHP-Bild verändert sich erst nach direktem Aufruf

    Hallo,

    Super-OTR.de - v 2.0
    Habe dort ein Spendenbarometer programmiert und habe das "Problem", dass wenn sich beim Spendenbarometer etwas verändert, er die Veränderung erst anzeigt, wenn ich das Script (welches die Bilddatei liefert) noch mal direkt aufrufe ( nicht eingebettet in die Seite ).

    Allerdings nur im FF.
    Im Internet Explorer klappt alles gut.

    Bild wird über imagepng() ausgegeben.

    Ist jetzt nicht so wild, aber interessiert mich warum der FF das macht...

    Kann ich das Problem ( nur ) beheben wenn ich das Cachen verbiete?

    Danke
    Grüße
    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

  • #2
    Probiers aus?!
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      *g*...
      Das "nur" war extra in Klammern gesetzt um zu fragen ob es nicht evtl. einen anderen Grund haben könnte / es eine andere Lösung gibt.
      Edit.: Caching ändert leider nichts.

      cu
      Grüße
      Destruction

      Edit2: Lösung gefunden. Hänge nun einfach immer eine zufällige Zeichenkette dran also:
      PHP-Code:
      <img src="barometer.php?<?php echo mt_rand(); ?>
      "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

      Kommentar


      • #4
        oder du sendest einfach ein expire-header mit der in der vergangenheit liegt, dann sollte jeder browser das bei jedem request neu anfordern, aktuell kommt ja nichts an daten mit, das veranlasst einige browser dazu es ne zeit lang zu speichern.
        [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
        | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

        Kommentar


        • #5
          das mit dem random im Get functioniert nach dem gleichen system, da der browser "denkt", dass es eine neue Seite sei, die er aufruft, schöner wärs, wenn man
          PHP-Code:
          header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit 
          PHP-Code:
          if ( $humans >= ) {
             
          war ();

          Kommentar


          • #6
            Bei den Captcha`s wird`s auf demselben Wege gemacht
            Wie PhillKill12 schon beschrieben hat... einfach nen Header setzen.

            Kommentar


            • #7
              Zitat von PhillKill12 Beitrag anzeigen
              das mit dem random im Get functioniert nach dem gleichen system, da der browser "denkt", dass es eine neue Seite sei, die er aufruft, schöner wärs, wenn man
              PHP-Code:
              header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit 
              Hallo,

              das habe ich auch erst probiert, aber komischerweise hat es nicht funktioniert^^
              "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

              Kommentar


              • #8
                PHP-Code:
                header("Cache-Control: no-cache");
                header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
                header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 
                PHP-Code:
                if ( $humans >= ) {
                   
                war ();

                Kommentar


                • #9
                  Was die Header betrifft reagieren die Internet-Browser sowieso alle unterschiedlich, daher solltest du deine Seite ( um möglichst alle Web-Clients zu unterstützen ) mit verschiedenen Browsern prüfen. Das Ergebnis könnte ansonsten möglicherweise abweichen. Google hilft bei der Sache auch recht gut weiter.

                  Kommentar

                  Lädt...
                  X