【发布时间】:2012-06-25 12:17:40
【问题描述】:
好的,我知道我想如何提供和缓存我的图像。 我不知道这是否是正确的做法,但如果是,我想知道如何防止滥用。
情况:
index.php
<img src="images/cache/200x150-picture_001.jpg" />
图像/缓存/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ images/image.php?f=$1 [L]
上面检查图片是否存在,如果不存在则重写为image.php
image.php 伪代码
从文件名中获取高度和宽度
调整图片大小并保存到缓存文件夹
使用 content-type 和 readfile 提供图像。
通过这种方式,我试图通过 readfile 减少 HTTP 请求和 PHP 负载。 如果存在则浏览器获取图像/jpeg,如果不存在则生成。
最终所有图片都将被缓存并以正确的高度和宽度提供服务,这样浏览器就不会下载过大的图片。
唯一的问题..如果您将图片网址更改为不同的尺寸,您可以填满服务器。
我做得对吗,正确的做法是什么。有没有机会阻止这种情况发生?
我知道缓存的整个概念已经被提炼了一百万次,请赐教。
【问题讨论】:
标签: php image .htaccess caching