动态调整大小和缓存图像,在服务器

时间:2017-02-17 23:44:50

标签: php laravel nginx gdlib

我一直在阅读有关使用一些带有URL重写的PHP脚本(/img/500x500/image-name.jpg)动态调整图像大小的文章,但是很多人都认为这是一种不好的做法。它占用了RAM和CPU(1Mb映像使用大约3Mb的RAM)。所以我想我只会生成一次这些图像,然后将它们保存在缓存文件夹中,这样我就可以保留原始img以及此文件夹中已调整大小的图像。

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

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

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

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

我使用的是php7,nginx,laravel 5以及CDN服务(maxCDN)

提前致谢

1 个答案:

答案 0 :(得分:1)

我这样做是为了缩略图...使用干预图像库非常容易......我的意思是,简单...... 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');

那就是......是的,动态调整大小是一个坏主意......