programic / laravel-medialibrary
将文件与 Eloquent 模型关联
Requires
- php: ^8.0
- ext-exif: *
- ext-fileinfo: *
- ext-json: *
- illuminate/bus: ^9.18|^10.0
- illuminate/conditionable: ^9.18|^10.0
- illuminate/console: ^9.18|^10.0
- illuminate/database: ^9.18|^10.0
- illuminate/pipeline: ^9.18|^10.0
- illuminate/support: ^9.18|^10.0
- intervention/image: ^2.7
- maennchen/zipstream-php: ^2.0|^3.0
- spatie/image: ^2.2.2
- spatie/temporary-directory: ^2.0
- symfony/console: ^6.0
Requires (Dev)
- ext-imagick: *
- ext-pdo_sqlite: *
- ext-zip: *
- aws/aws-sdk-php: ^3.133.11
- doctrine/dbal: ^2.13
- guzzlehttp/guzzle: ^7.4
- league/flysystem-aws-s3-v3: ^3.0
- mockery/mockery: ^1.4
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7.0|^8.0
- pestphp/pest: ^1.21
- phpstan/extension-installer: ^1.1
- spatie/laravel-ray: ^1.28
- spatie/pdf-to-image: ^2.1
- spatie/phpunit-snapshot-assertions: ^4.2
Suggests
- league/flysystem-aws-s3-v3: Required to use AWS S3 file storage
- php-ffmpeg/php-ffmpeg: Required for generating video thumbnails
- spatie/pdf-to-image: Required for generating thumbsnails of PDFs and SVGs
Conflicts
- php-ffmpeg/php-ffmpeg: <0.6.1
README
将文件与 Eloquent 模型关联
此包可以将各种文件与 Eloquent 模型关联。它提供了一个简单的 API 来进行操作。要了解所有相关信息,请访问 详细的文档。
以下是一些简单的示例,展示您能做什么
$newsItem = News::find(1); $newsItem->addMedia($pathToFile)->toMediaCollection('images');
它可以直接处理您的上传
$newsItem->addMedia($request->file('image'))->toMediaCollection('images');
想将一些大文件存储在另一个文件系统中?没问题
$newsItem->addMedia($smallFile)->toMediaCollection('downloads', 'local'); $newsItem->addMedia($bigFile)->toMediaCollection('downloads', 's3');
文件存储由 Laravel 的文件系统 处理,因此您可以使用您喜欢的任何文件系统。此外,该包还可以对媒体库中添加的图片和 PDF 进行图像处理。
Spatie 是一家位于比利时的安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 这里。
支持我们
我们投入了大量资源来创建 一流的开放源代码包。您可以通过 购买我们的付费产品之一 来支持我们。
我们非常感谢您从您的家乡寄给我们明信片,并说明您正在使用我们哪些包。您可以在我们的 联系我们页面 找到我们的地址。我们将在 我们的虚拟明信片墙 上发布所有收到的明信片。
文档
您可以在 https://spatie.be/docs/laravel-medialibrary 上找到文档。
如果您在使用包时遇到困难,发现了错误,或者对改进媒体库有任何一般性的问题或建议,请随时在 GitHub 上创建一个问题,我们将尽快处理。
如果您发现有关安全的错误,请通过 security@spatie.be 发送邮件,而不是使用问题跟踪器。
测试
您可以使用以下命令运行测试
./vendor/bin/pest
您可以使用 act 在本地运行 Github actions。为了使 PHP 正确运行,您必须为 ubuntu-latest 平台使用一个 自定义镜像。要本地运行测试,请运行
act -P ubuntu-latest=shivammathur/node:latest
要运行特定的工作流程,例如 run-tests.yml
,请运行
act -P ubuntu-latest=shivammathur/node:latest -j run-tests
升级
请参阅 UPGRADING 获取详细信息。
变更日志
请参阅 CHANGELOG 了解最近更改的信息。
贡献
请参阅 CONTRIBUTING 获取详细信息。
安全
如果您发现任何与安全相关的错误,请通过 security@spatie.be 发送电子邮件,而不是使用问题跟踪器。
鸣谢
非常感谢尼古拉斯·博瓦瓦(Nicolas Beauvais)帮助解决本仓库的问题。
特别感谢Caneco为我们的标志✨做出的贡献
替代方案
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。