2011-06-02 18 views
6

Estoy generando las imágenes y quiero que el navegador las guarde en la memoria caché para siempre, pero el navegador nunca las almacena en memoria caché. Este es mi código phpForzar navegador para almacenar en caché las imágenes


header('Content-type:'.$file->content_type); 
header('Expires: Thu, 15 Apr '.(date('Y')+10).' 20:00:00 GMT'); 
header('Content-Disposition: attachment; filename="'.$file->file_name.'"'); 
echo(file_get_contents($model_files->files_path.$file->md5.$model_files->seprator.$file->file_name)); 

y estas son las cabeceras de respuesta, que me siguen dando en el navegador.

Date:   Thu, 02 Jun 2011 12:56:56 GMT 
Server:   Apache mod_fcgid/2.3.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 
X-Powered-By  PHP/5.2.15 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma   no-cache 
Expires   Thu, 15 Apr 2021 20:00:00 GMT 
Content-Length 321823 
Keep-Alive  timeout=5, max=100 
Connection  Keep-Alive 
Content-Type  image/png

No estoy configurando la fecha, el control de caché y Pragma, pero sigo obteniéndolos en respuesta.

Sé que puedo sobrescribirlos, pero la verdad es que no sé exactamente qué valores configurar.

+0

¿Has encontrado la respuesta? –

Respuesta

0

que puede utilizar:

header('Cache-Control: max-age=37739520, public'); 

Se podría tratar de sobrescribir Pragma también, pero creo que estos navegadores día sólo ignoran si Pragma Cache-Control es isset.

header('Pragma: public'); 
+0

Gracias y déjame intentar por favor –

+0

lo siento no funcionó –

2

Eche un vistazo a session_cache_limiter.

+0

+1 Esta es una causa probable para los encabezados de almacenamiento en caché, si utiliza session_start en esta página. Si no necesita la sesión, simplemente elimine session_start. Si no lo usas, menciónalo en tu pregunta y tendrás que buscar otras causas de estos encabezados. – Mel

Cuestiones relacionadas