我接管了一个 CodeIgniter PHP 站点,该站点动态生成调整大小的图像和缩略图。
img
以下是网站中生成 100 x 100 像素缩略图的标记示例:
<img src="/media/image/ImageName.jpg/100/100" />
这是通过使用帮助程序生成的:
echo img('media/image/ImageName.jpg/100/100');
媒体控制器中的图像函数有一些逻辑,它首先检查一个缓存文件夹,然后提供缓存的图像(如果存在)。
看起来这仍然不是一种优雅的方法,看看 SilverStripe 等其他 PHP 框架的做法,最好是这样做:
echo img_link('ImageName.jpg', 100, 100);
帮助程序中的这个新img_link
函数将首先检查缓存的图像并将链接直接写入图像文件或生成新图像并将直接链接传递给 html。
我的想法是,如果 PHP 服务于每一个img
使用这种类型的代码
$this->output->set_content_type('jpeg')->set_output(file_get_contents($file_path));
它总是效率低下。
有人想吗?