eyadhamza/laravel-webp

这是我创建的laravel-webp包

v2.0.0 2023-12-06 19:00 UTC

This package is auto-updated.

Last update: 2024-09-06 20:41:17 UTC


README

Latest Version on Packagist

GitHub Code Style Action Status Total Downloads

这个Laravel包是一个对PHP Intervention Library的简单封装,提供了一个更直观的接口,方便将图片转换为WebP格式——一种下一代图像格式,并将它们调整到所需的尺寸。

安装

您可以通过composer安装此包

composer require eyadhamza/laravel-webp

使用以下命令发布配置文件

php artisan vendor:publish --provider="EyadHamza\LaravelWebp\LaravelWebpServiceProvider" --tag="webp-config"

已发布配置文件的内容

return [
    'quality' => 70,
    'height' => null,
    'width' => null,
    'overwrite' => true
];

用法

在Eloquent模型中转换/调整图片大小

要在Eloquent模型中转换图片,只需在模型中为图片列添加一个转换即可

class TestModel extends Model
{
    protected $casts = [
        'image' => ToWebpCast::class . ':200,200,100',
        'avatar' => ToWebpCast::class,
    ];
}

ToWebpCast类有三个可选参数:宽度、高度和品质。您也可以在配置文件中将值设置为默认值。在配置文件中,将overwrite值设置为truefalse;如果设置为true,则旧图片将被删除。

现在,每次设置图片属性时,它都会被转换为WebP格式,并调整到指定的尺寸(如果提供的话)。

优化现有图片

如果您已经在本地的存储上有未优化的图片,并且它们的路径存储在数据库中,您可以使用以下Artisan命令

php artisan public:to-webp

将指定目录中的图片转换为WebP格式

php artisan public:to-webp --directory='public/images'

要删除旧图片,使用--overwrite选项

php artisan public:to-webp --overwrite

要优化静态资源中的文件,使用

php artisan public:to-webp --assets

要修改数据库属性值以指向新的webp图片,运行

php artisan images:to-webp Post

如果您想了解更多方便更改图片路径的方法,请参考ImageToWebpService类。

测试

composer test

更新日志

请参阅更新日志以了解最近的变化。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查看我们的安全策略了解如何报告安全漏洞。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。