Cita:
Iniciado por samu22
con esto no te funciona?
Código php:
Ver originalheader("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
En FF sí

, pero en IE sigue sin funcionar

.
Gracias.
Cita:
Iniciado por bucky
Hola,
Una vez más acudo a vosotros en busca de una solución.
El caso es que mediante la clase fpdf creo un fichero pdf al que posteriormente podré visualizarlo/descargarlo. Hasta aquí bien, lo creo y lo veo perfectamente.
El problema surge cuando quiero sobreescribir el pdf en el servidor porque la información de la cual se crea se modifica y se necesita crearlo de nuevo, para que cuando descargue el pdf sea coherente con esta información. Para resolver este problema, cambié en la función Output() de la clase FPDF la cabecera
Código PHP:
header('Cache-Control: private, max-age=0, must-revalidate');
por estas
Código PHP:
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: public');
El resultado fue exitoso para FF, descargándome la última versión del pdf, pero no para IE, donde sigo viendo el pdf anterior. Si limpio la caché a mano si que veo la última versión, con lo que internamente todo funciona bien.
¿Existe alguna solución para que funcione también para IE?
Gracias.
Saludos.
SOLUCIÓN:
Ya lo tengo solucionado y creo que el problema era el concepto (como en Airbag)
Los header los utilizaba sólo al crear o al guardar el PDF, pero no al visualizarlo, con lo que creo que los header pierden su sentido.
He creado un archivo php intermedio con algo más o menos así:
Código PHP:
//$filename contiene la url del pdf a mostrar
header('Content-Type: application/pdf');
if(headers_sent())
$this->Error('Some data has already been output, can\'t send PDF file');
else
{
header('Content-Disposition: inline; filename="'.$filename.'"');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: public');
readfile($filename);
}
Y es aquí donde tenía que haber poner los header relacionados con la caché desde el principio. Así, cuando se visualiza el pdf, es cuando queda constancia la preferencia de no almacenar el archivo en cache con los header arriba indicados.
Espero que esto le sirva a alguien.
Gracias a
samu22 y a
karliky por su ayuda.
Saludos