lafoaug
lafoaug

Reputation: 137

Caching generated images with PHP

I am trying to cache images which have been generated. You create a image by accessing the file by resize.php?width=x&height=y. If the image of that width and height does not exist I use imagemagick to create it. However if it does exist it is served to the visitor.

The !file_exists($name) check works fine so processing is not done when its not needed. However the images still take a while to load.

Is my approach of readfile incorrect or have I set headers incorrectly?

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

Thanks.

Upvotes: 3

Views: 492

Answers (1)

redben
redben

Reputation: 5686

If i had to do this, i'd proccess the image if it does not exist save it in some web accessible folder. If the file exists just redirect to it header( 'Location: http://www.yoursite.com/path/to/existing/file.png' )

Upvotes: 4

Related Questions