tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
321
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Cusco Cusco ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Beiträge
    383
    Hi,

    mein Skript benötigt eine Session um ein Bild vom User dem die Session (Und das Bild) gehört über PHP auszugeben. Das Problem dabei ist das das Bild leider nicht im Browser-Cache landet sondern jedes mal neu geladen wird. Wie kann man den Browser zwingen das Bild im Cache aufzunehmen um den Traffic zu minimieren? Jedes Bild besitzt dabei seine eigene Adresse wie /index.php?useroption=bild&bildid=*id-nr*
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Eigentlich müsstest du dem Bild, da es einzelnd geladen wird, auch per header() zusätzliche HTTP Header mitgeben können.

    Welche für das Caching wichtig sind, findest du in der HTTP Referenz:
    HTTP/1.1 Caching in HTTP
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Cusco Cusco ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Beiträge
    383
    Der Header sieht so aus (Code auf das nötigste gekürzt):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    $size = getimagesize($quelle);
    $src = file_get_contents($quelle);
    header('Last-Modified: '.gmdate('D, d M Y H:i:s',$bild["zeit"]).' GMT');
    header('Date: '.gmdate('D, d M Y H:i:s',$bild["zeit"]).' GMT');
    header("Content-type: ".$size['mime']);
    header("Content-length: ".$bild["dateigroesse"]);
    header('Content-disposition: inline; filename="bild'.$bild["eintrag"].".".$bild["bildtyp"].'"');
    echo $src;
    exit;

    Ich habe es auch zusätzlich mit Content-MD5: md5($src) versucht, aber da dauert das laden der Bilder nur länger, mehr nicht.
    Geändert von Cusco (31.08.10 um 18:25 Uhr)
     

  4. #4
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Die Expires Direktive fehlt leider.

    HTTP/1.1 Header Field Expires
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  5. #5
    Cusco Cusco ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Beiträge
    383
    Hi,

    es lag nicht am Header sondern anscheint daran, das das Skript auf Session zurück greift. Ich habe das Bilderskript jetzt ausgelagert in einer extra PHP-Datei eine Sessionid wird per URL übergeben plus der BildNr. und siehe da die Bilder landen im Cache. 30 Minuten nach dem letzten Aufruf der Hauptseiten ist das Bild dann nicht mehr abrufbar.
     

Ähnliche Themen

  1. Browsercache nach Submit löschen
    Von Dustin84 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 15.04.09, 16:22
  2. Datei im Browsercache erneuern
    Von -André- im Forum PHP
    Antworten: 4
    Letzter Beitrag: 06.04.08, 14:04
  3. Bilder in den Browsercache laden wie?
    Von Adi | tmine im Forum Coders Talk
    Antworten: 1
    Letzter Beitrag: 23.10.06, 09:07
  4. Browsercache
    Von lb4ne im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 17.11.05, 09:10
  5. FPS konstant halten
    Von Lloyd im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 10.08.05, 19:35