Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Media Laravel Package

savannabits/media

Savannabits Media is a Laravel package for managing file uploads and media libraries. Attach images and files to Eloquent models, generate conversions, and store assets on local or cloud disks with a simple, fluent API.

View on GitHub
Deep Wiki
Context7

Associate files with Eloquent models

Frequently asked questions about Media
How do I install the savannabits/media package in a Laravel app?
Install it with Composer, choosing the package major that matches your Laravel major, since v7.0.0 is the first release built for Laravel 7. Then publish any package configuration and migrations and run php artisan migrate. Because the v7.0.0 release note is a single line, confirm the exact publish tags, service provider registration, and required PHP extensions against the repository README before deploying.
Which Laravel versions does savannabits/media support?
The v7.0.0 tag is explicitly described as the first release for Laravel 7, and the package major mirrors the framework major, which suggests a branch-per-Laravel-version support model. Under that convention v6.x targets Laravel 6 and v7.x targets Laravel 7. Support for Laravel 8 and later must be confirmed by checking whether newer majors were published after v7.0.0.
How do I attach an image or file to an Eloquent model with savannabits/media?
The package is built around associating files with Eloquent models, so you add its media behavior to a model and use the fluent API to attach an uploaded file. Disk placement and conversion settings are configured per attachment or media collection. Check the README for the exact trait, interface, and method names before wiring it into your models.
Can savannabits/media store files on S3 or other cloud disks?
Yes. The package is described as storing assets on local or cloud disks, so it uses Laravel's filesystem abstraction rather than a hardcoded storage path. You point it at a disk defined in config/filesystems.php, including S3-compatible drivers, and credentials are handled by your existing filesystem configuration. This keeps local development and cloud production on the same API.
Does savannabits/media generate image conversions or thumbnails?
Yes, generating conversions is listed as part of the package's feature set alongside uploads and media libraries. You define the conversions you need and the package produces derivative images stored on the configured disk next to the originals. As with any image pipeline, make sure the relevant image driver such as GD or Imagick is available in your runtime and CI environment.
Is savannabits/media safe to use in production?
The main concern is the framework, not the package itself: Laravel 7 left bug-fix support in September 2020 and security support in March 2021, and a v7-scoped package line runs on that end-of-life framework. That is acceptable for a legacy application already pinned to Laravel 7, but it should be escalated rather than treated as a routine dependency for any new build. Confirm the package has no unpatched advisories of its own before shipping.
What changed between savannabits/media v6.x and v7.0.0?
The only public evidence is the release note "First Release for laravel 7", which is a branch-opening announcement rather than detailed release notes. Because it is a major version bump, breaking changes to the API, configuration, or namespaces are possible and cannot be ruled out from the note alone. Diff the v6.x and v7.0.0 tags, or read the changelog, before upgrading an existing integration.
Does savannabits/media work with Laravel 10 or Laravel 11?
There is no evidence in the provided context that it does. The v7.0.0 release is scoped to Laravel 7 and will likely carry era-appropriate constraints on PHP, Symfony components, and Orchestra Testbench that conflict with modern Laravel versions. Check the repository for later major tags before attempting an install on a current framework release.
How do I test file uploads and conversions when using savannabits/media?
Use Laravel's Storage::fake() for the disk your media collection targets and UploadedFile::fake() to simulate uploads, so tests never touch real storage. Assert that records are created and that the expected paths exist on the fake disk. If your tests exercise image conversions, ensure an image driver is installed in CI, and wrap database assertions in RefreshDatabase or DatabaseTransactions.
What are good alternatives to savannabits/media for Laravel media libraries?
spatie/laravel-medialibrary is the most widely adopted option and tracks current Laravel releases with an active maintenance cadence. You can also combine Laravel's native filesystem and storage APIs with custom model casts if your needs are simple. Weigh alternatives by their supported Laravel matrix and release activity, since that is precisely where an older media package carries the most risk.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core