2011-12-29 13 views
6

Ho fatto un file da stampare il file immagine con W e H Mi definisco il metodo getcome memorizzare nella cache immagine generata da PHP

ma il mio problema è quello di cache questa foto

aggiungo questo intestazioni a il file

@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); 
} 

ma il mio problema è alcune immagini vengono memorizzate nella cache ok, ma altri non lo sono, e qualche volta le immagini all'interno album non appaiono fino a se disattivo l'intestazione della cache

è m le intestazioni sono corrette? e sulla cache devo usare - o + per impostare la cache del tempo su come funziona?

+3

Non è buona pratica per nascondere tutti i vostri errori del genere. Dai un'occhiata all'impostazione di PHP [error_log ini directive] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log) in modo che tu possa tracciare gli errori invece di metterli a tacere. – cmbuckley

+0

Uso PHP ogni giorno, e non ho nemmeno riconosciuto cosa fosse @ all'inizio! –

+0

'@' è stato il primo a nascondere gli errori di funzione se esiste come la funzione execute in mod silent senza stampare alcun errore –

risposta

1

perché usano Htaccess con mod_expires?

Esempio # 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

Esempio # 2:

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

memorizza tutte le immagini nella galleria del pollice e quella grande? , grazie usare male questo codice questo è stato molto utile –

+1

@JackKFouani: Quindi _accept_ la risposta per favore –

+0

È un esempio con Htaccess (Apache 2+ e Mod_Expires) ... leggi la documentazione :) –

Problemi correlati