Кэширование сгенерированных изображений с помощью PHP - PullRequest
3 голосов
/ 14 июня 2010

Я пытаюсь кэшировать изображения, которые были сгенерированы. Вы создаете изображение, обращаясь к файлу с помощью resize.php? Width = x & height = y. Если изображение такой ширины и высоты не существует, я использую imagemagick для его создания. Однако, если он существует, он подается посетителю.

Проверка! File_exists ($ name) работает нормально, поэтому обработка не выполняется, когда она не нужна. Однако для загрузки изображений требуется некоторое время.

Мой подход к файлу чтения неверен или я неправильно установил заголовки?

if (!file_exists($name)) {
 //image processing here
}
header("Content-Type: image/png");
header("Expires: Sat, 25 Jul 2020 10:00:00 GMT");
readfile($name);

Спасибо.

1 Ответ

4 голосов
/ 14 июня 2010

Если бы мне пришлось это сделать, я обработал бы изображение, если оно не существует, сохранив его в какой-нибудь доступной через Интернет папке. Если файл существует, просто перенаправьте на него заголовок ('Location: http://www.yoursite.com/path/to/existing/file.png')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...