nickdekruijk / imageresize
一个简单而高效的Laravel图像缩放和缓存解决方案
Requires
- php: >=7.0.0
README
Laravel的ImageResize
Laravel图像缩放和缓存的一个简单而高效的解决方案。基于之前的imageresize包,现在更名为nickdekruijk/imageresize-legacy。
安装
要安装该包,请使用
composer require nickdekruijk/imageresize
配置
首次安装后,使用以下命令发布配置文件:
php artisan vendor:publish --tag=config --provider="NickDeKruijk\ImageResize\ServiceProvider"
一个名为imageresize.php
的默认配置文件将在您的Laravel /config
文件夹中可用。请参阅此文件以获取更多详细信息。
它是如何工作的
假设您有一个位于/public/media/images/test.jpg
的图像和一个名为thumbnail
的模板。并且已经设置了imageresize.route配置为media/resized
。
引用http://domain.com/media/resized/thumbnail/images/test.jpg
将触发Laravel中的imageresize路由,因为该文件不存在。然后imageresize创建缩放后的图像,并将其保存为/public/media/resized/thumbnail/images/test.jpg
。
因此,下次您引用http://domain.com/media/resized/thumbnail/images/test.jpg
时,文件已存在,并且图像将直接提供,不会触发任何php/laravel代码,以实现最佳性能。
缺点
然而,有一个缺点:如果原始图像被编辑或删除,缩放后的文件仍然保持不变,因为引用它不会触发imageresize包。您必须手动删除它或使用php artisan imageresize:delete
命令来从media/resized
文件夹中删除所有缩放后的图像。