即时调整大小和缓存图像与在服务器上保存不同大小

Resize and cache images on the fly vs saving different sizes on server

我一直在阅读有关使用一些 php 脚本并 URL 重写 (/img/500x500/image-name.jpg) 来动态调整图像大小的内容,但很多人说这很糟糕练习,因为它是一个 RAM 并且 CPU 消耗(1Mb 图像使用大约 3Mb 的 RAM)。所以我想我只生成这些图像一次,然后将它们保存在缓存文件夹中,这样我就可以在这个文件夹中保留原始 img 和调整大小的图像。

我目前在上传图片时在服务器中保存了 3 种不同的尺寸(100x100、200x200、500x500)。不久前我曾经以 500x500 显示一些图像,但现在我稍微改变了设计以仅以 300x300 显示这些图像,所以我现在被大图像困住了,这可能会稍微减慢页面加载速度!

所以我想做的是保存原始图像 (1500x1500),当它被第一次查看时,我会生成适当的缩略图并将它们保存在服务器上的一个文件夹中。这样,如果我再次更改设计,只需删除图像缓存文件夹即可创建具有新尺寸的新缩略图...

我仍然没有任何代码,因为该网站仍在开发中,我只是想预测这些事实。这是一个电子商务网站

您认为这是处理图像的明智方法吗??

我正在使用 php7、nginx、laravel 5 以及 CDN 服务 (maxCDN)

提前致谢

我为缩略图执行此操作...使用干预图像库非常简单...我的意思是,简单...http://image.intervention.io/

// open an image file
$img = Image::make('public/foo.jpg');

// now you are able to resize the instance
$img->resize(320, 240);

// finally we save the image as a new file
$img->save('public/bar.jpg');

就是这样...是的,动态调整大小不是个好主意...