使用PHP缓存生成的图像

3

我正在尝试缓存已生成的图片。你可以通过resize.php?width=x&height=y获取文件来创建一张图片。 如果该宽度和高度的图片不存在,我将使用imagemagick创建它。但是,如果存在,则会提供给访问者。

!file_exists($name)检查正常工作,因此无需处理时不会进行处理。但是图像仍然需要一些时间才能加载。

我的readfile方法是否有误或者我的标头设置不正确?

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

如果我必须要这样做,我会处理图片,如果它不存在,则将其保存在某个可访问的网络文件夹中。如果该文件已经存在,则直接重定向到它。 header('Location: http://www.yoursite.com/path/to/existing/file.png')


啊哈,傻啦吧唧的!感谢帮忙!我知道php脚本自动不会缓存,所以readfile每次都在读取图片。 - lafoaug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接