The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

Laravel Medialibrary

spatie/laravel-medialibrary image

Laravel Medialibrary stats

Downloads
15.4M
Stars
5,428
Open Issues
12
Forks
1,025

View on GitHub →

Associate files with Eloquent models

Laravel Media Library Package Summary

The Spatie Laravel Media Library package provides a robust way to associate files with Eloquent models in Laravel applications. It simplifies the management of media files by offering a fluent, intuitive API to handle file uploads, storage, and manipulation seamlessly.

Key Features

  • Easy File Association: Quickly associate files with Eloquent models using simple API methods.
  • Flexible File Handling: Directly handle file uploads from user inputs.
  • Multiple Storage Options: Supports different storage systems per collection, allowing you to store files locally or on external services like Amazon S3.
  • Image Manipulations: Automatic image and PDF manipulation when files are added to the media library, leveraging Laravel's Filesystem features.
  • Extensive Documentation: Detailed user guides and examples are available, making it easy to integrate and use the package in your projects.

Installation

Installation can be done via Composer:

composer require spatie/laravel-medialibrary

Refer to the official documentation for detailed installation and setup instructions.

Usage Examples

Associate a file with a model:

$newsItem = News::find(1);
$newsItem->addMedia($pathToFile)->toMediaCollection('images');

Handle file uploads directly from a request:

$newsItem->addMedia($request->file('image'))->toMediaCollection('images');

Store large files in different storage systems:

$newsItem->addMedia($bigFile)->toMediaCollection('downloads', 's3');

Additional Resources

  • Testing: Information on running tests using Pest and Github Actions is provided.
  • Contributing: Guidelines for contributing to the package are available.
  • Security: Instructions for reporting security vulnerabilities.

Support and Community

Spatie, the creator of this package, welcomes support via sponsorships and appreciates feedback and contributions to their open source work. Users are encouraged to send postcards as a unique way of saying thanks!

Conclusion

The Laravel Media Library package by Spatie is an essential tool for developers looking to efficiently manage media files in their Laravel applications. With its comprehensive features and supportive documentation, it ensures a smoother development experience and enhances the capabilities of Laravel projects.

For more details and to explore the full capabilities of the package, visit the official documentation.

spatie photo

We create open source, digital products and courses for the developer community

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Spatie Laravel Medialibrary Related Articles

Laravel Cyber Deals image

Laravel Cyber Deals

Read article
Laravel Black Friday Deals image

Laravel Black Friday Deals

Read article
Learn how to upload files in Laravel like a Pro image

Learn how to upload files in Laravel like a Pro

Read article
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger