[PHP5] Cache Frage...

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

  • [PHP5] Cache Frage...

    Hallo alle zusammen,

    Ich hab ein kleines unschönes Problem mit dem Cache bei Bildern.
    Für meine Uploads nutze ich eine eigene Klasse von mir, mit der ich sagen kann, ob die hochzuladende Datei normal mit dem original Dateinamen auf dem Server abgelegt wird oder ob er sie umbenennen und somit nummeriert ablegen soll.

    Kleines Beispiel:
    Man lädt 5 Bilder hoch und lässt diese Nummerieren.

    ...Bild_1, Bild_2, Bild_3, Bild_4 und Bild_5

    Löscht man nun sagen wir mal das Bild 3, so ist eine Lücke in der Liste... logisch... Bild_1, Bild_2..... Bild_4 und Bild_5.
    Lädt man nun eine neue Datei hoch, die unter dem selben Namen wie alle anderen Nummeriert werden soll, dann wird durch meine Klasse immer geschaut, ob eine Datei vorhanden ist oder nicht... Da in diesem Fall also Bild_3 fehlt, wird das neue hochzuladende Bild auch wieder Bild_3 benannt und füllt sozusagen wieder die Lücke.
    Das funktioniert alles soweit wunderbar....

    Nun zum eigentlichen Problem:
    Lösche ich also Bild_3 und lade danach "irgendwan" mal ein neues Bild hoch, welches den Namen Bild_3 zugewiesen bekommt, dann zeigt der Browser immernoch das alte Bild aus dem Cache an und nicht das neue. Wie kann ich sagen, dass aus beim löschen eines Bildes oder einer Datei diese auch aus dem Cache gelöscht wird?

    Das Problem tauchte auf, als ein Kunde in eine Galerie pflegen wollte und vorher alle Testbilder löschte und dann seine eigenen hochgeladen hat. Es wurden die alten Bilder gezeigt aber mit den Bildmaßen der neuen Bilder.

    Okay... was kann man da machen? Hoffe es ist detailiert genug erklärt...

    Mario

  • #2
    PHP-Code:
    <meta http-equiv="cache-control" content="no-cache">
    <
    meta http-equiv="pragma" content="no-cache"
    ggf. noch ein
    PHP-Code:
    <meta http-equiv="expires" content="Sat, 01 Feb 2006 00:00:00 GMT"
    ist aber kein php-problem

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Re: [PHP5] Cache Frage...

      Original geschrieben von GELight
      Wie kann ich sagen, dass aus beim löschen eines Bildes oder einer Datei diese auch aus dem Cache gelöscht wird?
      Rückwirkend natürlich gar nicht mehr.

      Generiere ab der Erstauslieferung des Bildes passende Last-Modified/ETag-Header - wenn du die Bilder vom Webser direkt von Platte lesen lässt, kann der das schon für dich übernehmen.
      Wenn du die Bilder per Script ausgibst, musst du dich selber um diese Response-Header und die Berücksichtigung der entsprechenden Request-Header in der Anfrage kümmern.

      (Unschönere) Alternative: Wechselnden GET-Parameter (bspw. den Last-Modified-Timestamp) an Bildnamen anhängen, wodurch das ganze zu einer neuen Ressource wird.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Original geschrieben von Kropff
        ist aber kein php-problem
        Aber auch kein HTML-Problem - und nur auf HTML-Dokumente beziehen sich deine Meta-Angaben.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          [PHP5] Cache

          Also die HTML MataTags kenne ich und die hab ich sogar alle 3 schon im Header stehen gahabt. Haben aber eigenartiger Weise keinerlei Auswirkungen gahabt.

          Dazu würde, wenn es funktioniert mit den MetaTags, es ja bedeuten, dass immer wieder ALLE Bilder neu geladen werden würden... sehe ich das richtig?

          @wahsaga: Bei diesem Kundenproblem hatte ich die ( wie du sagtest ) Alternative über den TimeStamp gelöst. So unschön find ich die zwar nicht und es hat auch funktioniert aber ich hätte doch gern die andere Variante in Verwendung, da ich so mehr Kontrolle über die Dateibenennung behalte.
          Generiere ab der Erstauslieferung des Bildes passende Last-Modified/ETag-Header - wenn du die Bilder vom Webser direkt von Platte lesen lässt, kann der das schon für dich übernehmen.
          Ich muss gestehen, dass sich das sehr gut anhört aber ich zum jetzigen Zeitpunkt leider nicht wirklich weiß, was ich nun wie machen muss, um deinen Tipp anzuwenden.

          Wäre es möglich, dass ihr ein Anwendungsbeispiel für mich hättet?
          Wie gesaagt... ich möchte möglichst nicht immer alle Bilder neu laden lassen müssen. Ich habs beim XT-Commerce OnlineShop gesehen... da machen die auch ständige Nummerierungen der Dateien und da scheints keine Probleme mit dem Cache zu geben.

          Mario

          Kommentar

          Lädt...
          X