expresslanding/laravel-filesystem
Extend Laravel Filesystem with unlimited disks (local, S3, SFTP, FTP). Track disk space usage, manage disk statuses, and select an available drive (e.g., random). Includes migrations and config for MySQL or PostgreSQL setups.
Adopt if:
Look elsewhere if:
spatie/laravel-medialibrary or custom solutions).For Executives: "This package lets us treat all storage—local, cloud, or hybrid—as interchangeable, reducing costs and risks. For example, if we switch from S3 to Backblaze, we only update one config file. The latest update (v1.0.5) adds smarter disk checks, so we’ll catch issues like a failed mount before a user’s upload fails—saving support costs. It’s a low-risk way to future-proof our infrastructure for ~$0 in dev effort."
For Engineering:
*"This replaces ad-hoc Storage::disk()->exists() calls with explicit methods for:
Disk::isPresent('s3')).Disk::hasFile('s3', 'path/to/file')).
This fixes a bug in v1.0.5 where disk driver type was missing from configs, which could cause silent failures. The separation also lets us add retries or alerts for disk health. Migration effort: <2 hours for a mid-sized app. Tradeoff: We cede minimal control over low-level filesystem ops for consistency."*How can I help you explore Laravel packages today?