Laravel Thumbnail
相关链接
https://github.com/rolandstarke/laravel-thumbnail
https://rolandstarke.github.io/laravel-thumbnail/
安装
composer require rolandstarke/laravel-thumbnail
配置
php artisan vendor:publish --tag=thumbnail-config
允许目录示例
'allowedSources' => [
'a' => app_path(),
'r' => resource_path(),
'p' => public_path(),
's' => storage_path(),
'http' => 'http://', //allow images to be loaded from http
'https' => 'https://',
'ld' => ['disk' => 'local', 'path' => '/'], //allow images to be loaded from `Storage::disk('local')`
'pd' => ['disk' => 'public', 'path' => '/'],
'images' => ['disk' => 'public', 'path' => 'images'] //这个是新增项,目录是storage/app/public/images
],
预设示例
'presets' => [
'default' => [
'destination' => ['disk' => 'public', 'path' => '/thumbnails/default/'],
'widen' => '750', //750宽,高度等比自适应
'format' => 'jpg', //格式
'quality' => '90', //质量
],
'small' => [
'destination' => ['disk' => 'public', 'path' => '/thumbnails/small/'],
'heighten' => '750', //750高,宽度等比自适应
'format' => 'png', //格式
],
],
注意
需要php扩展 GD Library 或 Imagick
使用
use Rolandstarke\Thumbnail\Facades\Thumbnail; // 引用
Thumbnail::src(public_path('images/example.jpg')); // 使用入口public目录中图片
Thumbnail::src('http://test.test/example.jpg'); // 使用网络图片
Thumbnail::src('example.jpg', 'public');
// 使用storage图片 Storage::disk('public'),注意需要在配置的allowedSources中增加允许项
// 例如使用地址为pics/fulfills/1.jpg,图片目录为storage/app/public/pics中的图片,需要配置
// 'pics' => ['disk' => 'public', 'path' => 'pics']
// 解释:其中src的第二个参数会对应pics数组disk项,然后插件用pics数组path项去匹配图片的地址`startsWith`
Thumbnail::preset('avatar')->src('example.jpg', 'public'); // 使用预设配置
Thumbnail::src('example.jpg', 'public')->save(); // 保存图片
Thumbnail::src('example.jpg', 'public')->url() // 获取图片链接
Thumbnail::src('example.jpg', 'public')->url(true) //获取图片链接,它会先判断是否有图,没图会先保存图再返回链接