📜  laravel 媒体库重新生成 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:36.844000             🧑  作者: Mango

Laravel 媒体库重新生成

Laravel 媒体库是一个方便的工具,可以让你轻松地管理和储存网站上的图片、视频等多媒体资源。但是,当你需要改变图片尺寸、质量等时,可能需要重新生成这些图片。这时,Laravel 媒体库重新生成就显得非常有用了。

安装 Laravel 媒体库

在开始使用 Laravel 媒体库重新生成之前,你需要先安装它。你可以使用 Composer 进行安装:

composer require spatie/laravel-medialibrary

安装完毕后,在 config/app.php 文件的 providers 数组里添加:

Spatie\MediaLibrary\MediaLibraryServiceProvider::class,

然后发布配置文件和数据库迁移文件:

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="config"
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"

运行数据库迁移:

php artisan migrate

以上步骤完成后,Laravel 媒体库就可以正常使用了。

使用 Laravel 媒体库重新生成

Laravel 媒体库重新生成 CLI 工具提供了一些选项,可以让你指定要重新生成的媒体类型、尺寸等信息。以下是使用方法:

php artisan media-library:regenerate [--ids[=IDS]] [--model[=MODEL]] [--collection[=COLLECTION]] [--mime-types[=MIME-TYPES]] [--skip-if-exists] [--force] [--queue] [--batch-size[=BATCH-SIZE]] [--sleep[=SLEEP]] [--only-urls] [--only-missing-converted-images] [--include-non-processed] [--with-backups]
  • --ids:要重新生成的媒体 ID,多个 ID 使用逗号分隔。
  • --model:指定要重新生成的模型类。
  • --collection:指定要重新生成的集合名称。
  • --mime-types:指定要重新生成的 MIME 类型。
  • --skip-if-exists:如果已经存在,则跳过重新生成。
  • --force:即使文件没有更改也重新生成。
  • --queue:将重新生成任务添加到队列。
  • --batch-size:一次处理任务的数量,默认为 50。
  • --sleep:每处理一批任务后休眠的秒数,默认为 0。
  • --only-urls:只重新生成媒体库的 URL 资源。
  • --only-missing-converted-images:只重新生成没有转换的图片。
  • --include-non-processed:包括未转换或错误的文件。
  • --with-backups:包括备份文件。

例如,要重新生成 ID 为 1 和 2 的媒体资源:

php artisan media-library:regenerate --ids 1,2
总结

Laravel 媒体库重新生成是一个非常有用的工具,可以帮助你更好地管理和优化网站的多媒体资源。使用它可以轻松地重新生成图片、视频等多种类型的资源,同时也提供了一些选项,让你更加灵活地应对不同的需求。建议你花些时间熟悉它并应用到自己的项目中。