Browsercache austricksen

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

  • Browsercache austricksen

    Hi,

    ich habe ein interessantes Problem :

    ich habe einen Markt entwickelt für Fahrzeuge, und zu jedem Fahrzeug kann man 3 Bilder hochladen.
    Die Bilder heissen $fahrzeugid1, $fahrzeugid2 und $fahrzeugid3

    Maximale Anzahl ist 3.

    Soweit funktioniert alles. Jetzt kann man aber die Reihenfolge der Bilder ändern.

    Wenn mandas 1. bild mit dem 2. tauscht heisst das 2. bild nun $fahrzeugid1 und das 1. bild nun $fahrzeugid2.

    Der Browser hat das Bild aber noch im Cache und zeigt bei $fahrzeugid1 das 2. Bild mit den Ausmassen des 1. Bildes an und beim 2. umgekehrt.

    Drückt man F5 werden die Bilder dann korrekt angezeigt.

    Gibt es eine Möglichkeit, dass der Browser keine Bilder Cacht ?
    Oder sonstwie eine Problemlösung ?

    Dieses Phänomen tritt unter Mozilla Firefox und IE und NS auf.

    thx

    cya max


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

  • #2
    du muss dem Header folgendes sagen:

    Cache-Control: no-store, no-cache, must-revalidate

    dann sollte es funz.

    Kommentar


    • #3
      Re: Browsercache austricksen

      Original geschrieben von MaxP0W3R
      Gibt es eine Möglichkeit, dass der Browser keine Bilder Cacht ?
      beliebter und simpler trick:

      an den bildnamen den aktuellen timestamp als parameter anhängen, dann _muss_ der browser das bild bei jedem neu laden der seite (und damit anderem timestamp) neu laden.

      PHP-Code:
      echo '<img src="bildname.gif?'.time()'." alt="...">'
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke, ich habs eben noch mit folgenden Meta-Angaben probiert, hat aber nicht funktioniert:

        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="pragma" content="no-cache">


        Mit deinem Tip funktionierts.
        Ich hab natürlich den Header auf die Editier-Seite beschränkt, weil sonst ja alle User bei der normalen Ansicht auch immer neu laden müssten ^^

        thx

        cya mac


        An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

        Kommentar


        • #5
          Original geschrieben von MaxP0W3R
          Danke, ich habs eben noch mit folgenden Meta-Angaben probiert, hat aber nicht funktioniert:

          <meta http-equiv="cache-control" content="no-cache">
          <meta http-equiv="pragma" content="no-cache">
          die beziehen sich ja auch nur auf den quelltext der seite, nicht auf externe ressourcen wie bilder etc.

          für bilder müssten diese explizit mit den entsprechenden HTTP-headern ausgeliefert werden.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Re: Re: Browsercache austricksen

            Original geschrieben von wahsaga
            beliebter und simpler trick:

            an den bildnamen den aktuellen timestamp als parameter anhängen, dann _muss_ der browser das bild bei jedem neu laden der seite (und damit anderem timestamp) neu laden.

            PHP-Code:
            echo '<img src="bildname.gif?'.time()'." alt="...">'
            Ich hab den Pfadnamen nicht in der DB gespeichert, sondern in der DB nur foto1, foto2, foto2 als int, 0=kein bild, 1 = bild, 2 = bild und freigeschalten

            daher hab ich zwingend den dateinamen $id1, $id2, $id3

            oder wie komm ich sonst noch an den dateinamen, wenn da ein time dran ist ?


            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

            Kommentar


            • #7
              Gegenfrage : was meinst du, wofür das ? hinter .gif steht?

              Kommentar


              • #8
                humpf

                Hab nich aufgepasst.

                Ich sollte es nicht als .time() speichern, sondern es so zum Browser schicken. Ich bin ja auch blöd. Ich habe eine datei bigview.php wo ich Bilder vergrössert anzeige a la
                echo '<img src="bigview.php?bildid=12" alt="...">';

                also kann ich auch das Bild mit ? ausstatten, weil das ? und alles danach einfach nicht beachtet wird ( bzwausgewertet)

                oki thx jetzt hab ich es verstanden.


                An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                Kommentar


                • #9
                  Original geschrieben von MaxP0W3R
                  also kann ich auch das Bild mit ? ausstatten, weil das ? und alles danach einfach nicht beachtet wird ( bzwausgewertet)
                  mit ?... hängt man parameter an einen URL an, das ist dir ja bekannt. welchen typs die ressource ist, ist dabei vollkommen unerheblich.

                  wenn du das bei einem script machst, kann dieses die parameter dann auswerten, wenn es mag.
                  dein bild könnte sie auch auswerten, wenn es mag - allerdings hat es vermutlich eher wenig interesse daran :-)
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X