Evitare di memorizzare i contenuti nella cache col Php

E’ fastidioso quando qualcosa che il browser ha inserito nella cache non si aggiorna, non trovate? Refresh, F5, Ctrl+F5 … alla fine non servono a molto. Si deve svuotare la cache! Inoltre non è detto che chi naviga sul nostro sito se ne renda conto e/o sappia utilizzare bene il browser.

Il Php ha provato a introdurre un aiuto per cercare di non far memorizzare i file nella cache. Esistono infatti degli header da inviare tramite funzione header() che in teoria dovrebbero impedire il caching delle nostre pagine:
// Data passata
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

Vari utenti però affermano che per le immagini c’è poco da fare: vengono messe in cache comunque.

Allora possiamo provare con questo piccolo trucco. E’ una banalità ma funziona…

Con una riga di codice si fa tutto:
echo '<img src="{$tuaImmagine}?' , time() , '" />';
In pratica aggiungiamo una querystring all’immagine, assegnandogli il valore di time() (funzione che restituisce il numero di secondi passati dal 1 Gennaio 1970).

In questo modo il browser crede di dover elaborare una richiesta prima di poter accedere alla risorsa, quindi richiedere di nuovo l’immagine al server.

Questo procedimento funziona e può anche essere applicato ad altri elementi: CSS, download di file, contenuti in flash ed altro…

Provate pure… è garantito..

Un pensiero su “Evitare di memorizzare i contenuti nella cache col Php

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *