nickdekruijk/imageresize

一个简单而高效的Laravel图像缩放和缓存解决方案

1.2.2 2021-04-28 14:20 UTC

This package is auto-updated.

Last update: 2024-09-13 14:26:54 UTC


README

Latest Stable Version Latest Unstable Version Monthly Downloads Total Downloads License

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文件夹中删除所有缩放后的图像。