Php 在Laravel中干预图像大小调整和缓存

Php 在Laravel中干预图像大小调整和缓存,php,laravel,intervention,image-caching,Php,Laravel,Intervention,Image Caching,当我上传图像示例:user/1/user_profile_img.jpg时,我希望干预图像创建多个缩略图大小100x100、200x200、400x400等,这些大小将在不同页面中使用,以提高页面速度分数 我是否应该将不同大小的缩略图100x100、200x200、400x400等存储在自定义/缓存/文件夹中?比如“/cache/user/1/user\u profile\u img-100x100.jpg” 或者在使用干预图像缓存调整大小路径访问页面时生成它们,如: {{ route('pho

当我上传图像示例:user/1/user_profile_img.jpg时,我希望干预图像创建多个缩略图大小100x100、200x200、400x400等,这些大小将在不同页面中使用,以提高页面速度分数

我是否应该将不同大小的缩略图100x100、200x200、400x400等存储在自定义/缓存/文件夹中?比如“/cache/user/1/user\u profile\u img-100x100.jpg”

或者在使用干预图像缓存调整大小路径访问页面时生成它们,如:

{{ route('photos/item/100x100/userprofile/user_profile_img.jpg') }}
在blade.php模板中

Route::get('photos/item/{size}/{reference}/{photo}', 'ImgController@showImg');
我看到干预图像缓存函数中有一个“终生可选”参数:

$img = Image::cache(function($image) {
   $image->make('public/foo.jpg')->resize(300, 200)->greyscale();
}, 10, true);
缓存中映像回调的生存期(分钟)

是否用于设置图像缓存到期时间

图像是否会自动从/cache/文件夹中删除

我应该存储不同的缩略图大小[…]还是在访问页面时生成它们[…]

相对于典型web请求的持续时间,调整图像大小可能需要很长时间。如果速度对您很重要,那么我绝对建议在最初上载图像时保存大小调整后的版本,无论是在上载请求本身期间还是在上载控制器操作分派的作业中


如果您使用干预包的缓存功能,那么当最近没有缓存调整大小的图像时,您可能会遇到经常需要预热的页面。但是,这取决于您的流量模式、使用的缓存实现以及缓存持续时间。如果您尝试了它,并且它似乎适合您的用例,那么使用它没有什么问题。

我明白了,您是否使用了来自laravel的干预映像包?我在laravel项目中使用过干预包,是的