как кешировать изображение, сгенерированное php - PullRequest
6 голосов
/ 29 декабря 2011

я сделал файл для распечатки файла изображения с W и H, который я определяю методом get

, но моя проблема в том, чтобы кэшировать эти картинки

я добавляю эти заголовки в файл

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

но моя проблема в том, что некоторые изображения кэшируются нормально, а другие нет, и иногда изображения внутри альбома не появляются, пока я не отключу заголовок кэша

, верны ли мои заголовки?, а насчет кеша я должен использовать - или +, чтобы установить время кеша, как его работа?

1 Ответ

1 голос
/ 29 декабря 2011

потому что они используют Htaccess с mod_expires?

Пример № 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

Прочитайте эту документацию

Пример № 2:

ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...