2010-06-14 3 views
3

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

Проверка файла 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); 

Спасибо.

ответ

4

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

+0

Ах, да! Спасибо за помощь! Я знаю, что скрипты php автоматически не кэшируются, поэтому readfile просто читает изображение каждый раз. – lafoaug

Смежные вопросы