2011-12-29 21 views
6

hice un archivo para imprimir el archivo de imagen con W y H i defino por el método getcómo almacenar en caché imagen generada por PHP

pero mi problema es almacenar en caché estas imágenes

i Añadir este cabeceras de el archivo

@header("Cache-Control: private, max-age=10800, pre-check=10800"); 
@header("Pragma: private"); 
@header("Expires: " . date(DATE_RFC822,filemtime($full_path))); 

if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) 
     && 
    (strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == filemtime($full_path))) { 
    // send the last mod time of the file back 
    header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($full_path)).' GMT',true, 304); 
    exit; 
}else 
{ 
    @header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($full_path)) . ' GMT'); 
    @header('Content-Type: image/jpeg'); 
    @imagejpeg($image); 
} 

pero mi problema es algunas imágenes se almacenan en caché bien, pero otros no lo son, y en algún momento fotografías dentro álbum no aparecen hasta que al inhabilitar la cabecera caché

es m y los encabezados son correctos? y sobre el caché, ¿tengo que usar - o + para configurar el caché de tiempo, cómo funciona?

+3

No es una buena práctica para ocultar todos sus errores por el estilo. Eche un vistazo a la configuración de [directivo error_log ini de PHP] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log) para que pueda rastrear errores en lugar de silenciarlos. – cmbuckley

+0

Uso PHP todos los días, ¡y ni siquiera reconocí lo que era @ al principio! –

+0

'@' fue el primero en ocultar los errores de función si existe como ejecutar la función en modo silencioso sin imprimir ningún error –

Respuesta

1

porque usan Htaccess con mod_expires?

Ejemplo # 1:

# enable expirations 
ExpiresActive On 
# expire GIF images after a month in the client's cache 
ExpiresByType image/gif A2592000 
# HTML documents are good for a week from the 
# time they were changed 
ExpiresByType text/html M604800 

Read This Documentation

Ejemplo # 2:

ExpiresActive On 
ExpiresDefault A0 
ExpiresByType image/gif A2592000 
ExpiresByType image/png A2592000 
ExpiresByType image/jpg A2592000 
ExpiresByType image/jpeg A2592000 
+0

¿Esto va a almacenar en caché todas las imágenes en la galería el pulgar y el grande? , gracias por usar este código esto fue muy útil –

+1

@JackKFouani: Entonces _accept_ la respuesta por favor –

+0

Es un ejemplo con Htaccess (Apache 2+ y Mod_Expires) ... lea la documentación :) –

Cuestiones relacionadas