Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: no cache
Forum PHP.pl > Forum > PHP
zombie
Siemanello! Interesuje mnie kwestia no chache.

Mianowicie co zrobic, zeby pliki JPG nie byly brane z Off-Line'u, tylko za kazdym razem aktualizowane?questionmark.gif

header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0


- to nie dziala. moze ktos wie czemu? 8O
Officerrr
Bo M$ IE sux - byla kiedys dluga dyskusja o tym na jakiejs grupie i ostatecznie nie znaleziono 100% skutecznego rozwiazania chyba..
talee
O ile dobrze zrozumiałem masz plik index.php
Kod
<?php

header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache"); // HTTP/1.0

?>



<HTML>

...

<IMG SRC="file_name.jpg" ...>

...

</HTML>

Ja bym spróbował w miejscu
Kod
<IMG SRC="file_name.jpg" ...>

wstawić
Kod
<IMG SRC="img.php?file_name=file_name.jpg" ...>
Oczywiście w pliku img.php trzeba ustawić nagłówek nie pozwalający przeglądarce zapisywać zawartości do cache'u, odpowiedni Content-type no i rzygnąć obrazek. Może sposób nie jest najlepszy, ale chyba zadziała zgodnie z oczekiwaniami.
0x00
hmm... heh ja mam dosc dziwny pomysl winksmiley.jpg ale jak to jest rzeczywiscie niezbedne to oto moja teoria
obrazek jest przechowywany w bazie
||
/
scrypt php pobiera obrazek z bazy i wrzuca go na strone podczas ladowania situ i nadaje mu nazwe powiedzmy ...
$nazwa_obrazka = md5(time()).".jpg";

za kazdym razem bedzie to inna nazwa pliku, wiec bedzie to cos swiezego
jak przehcowywac img w bazie danych i jak je z niej wyciagac do html'a to mozna znalesc na www.google.com.pl w archiwach grup dyskusyjnych napewno jest bo czestot am o to chyba pytaja smile.gif
talee
Mała poprawka

Kod
header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");


Gdy ustawi się tak nagłówki wszystko powinno teoretycznie działać, tak niestety nie jest sad.gif.

Kod
header("Pragma: no-cache");

header("Cache-Control: post-check=0, pre-check=0", FALSE);

header("Cache-Control: no-store, no-cache, must-revalidate", FALSE);


Widocznie kolejność jest ważna, dziwne :?: Reszta jak wyżej.

Zamiast ustawiania nagłówków funkcją header(), można wystartować sessje: session_start(), wtedy strony i inna zawartość przesłane opisaną wyżej metodą (pierwszy post) nie są cache'owane (sprawdzałem w ie6).

Uwaga:
session_cache_limiter powinien mieć wartość 'private'. Domyślna, jeżeli admin nie zmieniał konfiguracji php nie trzeba jej ustawiać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.