tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
276
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sajonara sajonara ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    25
    Hallo
    ich habe folgendes Problem:

    ich habe z.B. 5 Fotos auf dem Server

    1156_1.jpg
    1156_2.jpg
    1156_3.jpg
    1156_4.jpg
    1156_5.jpg

    jetzt lösche ich mit unlink das foto 1156_3.jpg und wende im script ein "rename" an, sodass die Reihenfolge wieder hergestellt ist.
    Aus 1156_4.jpg wird 1156_3.jpg usw.

    Bis hier funktioniert alles prima, ABER
    wenn ich die Bilder wieder auf dem Bildschirm anzeigen lasse, so zieht er sich aus dem Cache des Brouwser das alte gelöschte Bild 1156_3.jpg!!

    Wie kann ich das vermeiden? Erst wenn ich auf eine andere Seite gehe und dann zur Bilderseite zurückkehre und dann refreshe, zeigt er alle Bilder an wie sie sein sollen.

    Das ist ein Cache-Problem....
    Aber wie löst man das Problem?
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Vielleicht reicht es den Dateien E-Tags zu verschaffen oder diese anders zu gestalten für .jpg oder die Expires-Header kürzer machen.
    Das kann man alles per .htaccess ändern oder in den Einstellungen des WebServers.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  3. #3
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    hänge an die Bild-URL den Timestamp der letzten Änderung als Parameter an, dann wird alles frisch geladen
     

  4. #4
    sajonara sajonara ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    25
    Den Timestamp kann ich leider nicht anhängen, da die Daten von jemand anderem weiterverarbeitet werden.

    Es muss doch etwas leichteres geben.... Ich stelle mir die seite einfach zu refreshen müßte doch ausreichen.. aber wie?
     

  5. #5
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Nochmal: Die Header per .htaccess oder über den Befehl header() in PHP (soweit das Möglich ist bei dir) zu Ändern oder die Einstellungen des Apache anzupassen ist am einfachsten. Eine weitere Variante (unwahrscheinlich das es klappt für die Bilder) gibt es hier: http://forum.de.selfhtml.org/archiv/2002/4/t10650/
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  6. #6
    sajonara sajonara ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    25
    Ich habe es in der Zwischezeit auch mit <meta http-equiv="expires" content="0">
    versucht. Leider ohne Erfolg.

    Wenn ich das 1156_3.jpg gelöscht habe holt er sich trozdem nicht die aktuellste Version.
    Erst wenn ich im Brouwser oben auf "neu laden" gehe.

    Zur Info: den php-script habe ich oberhalb des headers gesetzt, sodass er erst einmal die Neu-Nummerierung vornimmt...

    >>Nochmal: Die Header per .htaccess oder über den Befehl header() in PHP (soweit das >>Möglich ist bei dir)
    Kannst Du mir kurz sagen was Du genau mit per .htaccess oder über den Befehl header() in PHP meinst Ich bin nicht so firm in der programmierung und habe momentan nur Bahnhof verstanden...
     

  7. #7
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Dies zum Beispiel ist eine meiner .htaccess Dateien. Diese Datei erstellst du direkt in dem Ordner unter dem alle Bilder zu finden sind (egal wenn es noch Unterordner gibt):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    # add expire dates to the files
    ExpiresActive On
    ExpiresDefault A300
    ExpiresByType image/x-icon A2592000
    ExpiresByType image/gif A604800
    ExpiresByType image/png A604800
    ExpiresByType image/jpeg A604800
     
    # add ETag to the files
    <FilesMatch "\.(gif|jpe?g|png|ico)$">
        FileETag Size
    </FilesMatch>

    Die Angaben für Expires* sind alle in Sekunden mit vorangestelltem A. Das kannst du ändern wie du willst oder auch auf 1 setzen wenn der Browser nach einer Sekunde das Bild ausm Cache schmeißen soll.

    Der ETag macht Änderungen aber besser deutlich (find ich). Der Browser hat auch ein ETag gespeichert für alle Dateien im Cache. Sobald diese Unterschiedlich sind lädt er die Datei neu (hier ist es die Dateigröße als Prüfsumme).

    Vorsicht mit deinem Traffic dabei mehr Einstellung zum ETag gibs bei Google und Wiki
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  8. #8
    sajonara sajonara ist offline Mitglied Bronze
    Registriert seit
    Oct 2007
    Beiträge
    25
    Hallo ZodiacXP,
    also wenn ich Dich richtig verstanden habe...
    Ich habe eine Datei ".htaccess" mit Inhalt Deines scriptes erstellt und diese Datei ins Verzeichnis auf dem server, wo ich die Bilder hinspeicher, abgespeichert.

    Ich habe nichts verändert....

    Und.... es passiert gar nichts...
    Also vom Prinzip habe ich verstanden, dass das ETag herrausfindet, ob ein Bild Namens 1156_3.jpg die gleiche Größe hat, wie die im Speicher des Brouwsers, wenn nicht, wird neu geladen...
     

  9. #9
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Ja genau. Der Browser sollte dann auch neu laden. Verrückt das es bei dir nicht passiert.
    Vielleicht kommen noch andere Ideen oder ich hab was übersehen.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

Ähnliche Themen

  1. SD Karte, gelöschte Bilder Wiederherstellen?
    Von jackie05 im Forum Fotografie & Digitalfotografie
    Antworten: 1
    Letzter Beitrag: 05.04.09, 14:05
  2. Bilder im Speicher behalten
    Von pat_morita im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 12.06.07, 15:21
  3. Bilder downloaden mit Speicher unter!
    Von Dönerman im Forum PHP
    Antworten: 69
    Letzter Beitrag: 03.11.05, 10:00
  4. Bilder speicher verhindern
    Von jensjensen1977 im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 03.03.05, 12:55
  5. gelöschte Mails
    Von Sven Fischer im Forum Internet, DSL & Flatrate
    Antworten: 5
    Letzter Beitrag: 03.02.04, 22:05