sarmadict / filament-media
A reusable Filament 5 media library, filesystem browser, and media picker for Laravel applications.
v1.0.1
2026-08-23 18:51 UTC
Requires
- php: ^8.3
- filament/filament: ^5.0
- illuminate/auth: ^12.0|^13.0
- illuminate/database: ^12.0|^13.0
- illuminate/filesystem: ^12.0|^13.0
- illuminate/http: ^12.0|^13.0
- illuminate/pagination: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
- livewire/livewire: ^4.0
Requires (Dev)
- laravel/pint: ^1.27
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^4.0
This package is auto-updated.
Last update: 2026-08-23 19:24:52 UTC
README
A reusable media library for Laravel and Filament 5. It provides:
- a filesystem-aware Filament media browser;
- a reusable
MediaPickerform field; - uploads registered in a
media_filestable; - polymorphic
media_attachments; - public / temporary preview URL resolution;
- safe file deletion with configurable usage checks;
- directory browsing, creation, rename, deletion, and registration;
- configurable disks and authorization;
- configurable date-based upload paths such as
media/2026/12/10/<uuid>.jpg.
Install
composer require sarmadict/filament-media php artisan vendor:publish --tag=filament-media-config php artisan migrate
Register the panel plugin:
use Sarmadict\FilamentMedia\FilamentMediaPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugin(FilamentMediaPlugin::make()); }
Use the picker:
use Sarmadict\FilamentMedia\Filament\Forms\Components\MediaPicker; MediaPicker::make('cover_media_id')->images();
The default upload path is media/{Y}/{m}/{d}. Set FILAMENT_MEDIA_UPLOAD_PATH= to store directly under {Y}/{m}/{d}.
See docs/index.md for the complete documentation.