devfactory/media
| Install | |
|---|---|
composer require devfactory/media |
|
| Latest Version: | 4.0.7 |
| PHP: | >=7.2 |
| Laravel: | 6 – 12 |
| License: | MIT |
| Last Updated: | Apr 22, 2026 |
| Links: | GitHub · Packagist |
#Media
This package saves uploaded files and links them with models
Installation
Laravel 5
NOTE: If upgrading from 2.0.0, run
php artisan vendor:publishandphp artisan migrate
Using Composer, edit your composer.json file to require devfactory/media.
"require": {
"devfactory/media": "2.0.*"
}
Then from the terminal run
composer update
Then in your app/config/app.php file register the service providers:
'Devfactory\Media\MediaServiceProvider',
'That0n3guy\Transliteration\TransliterationServiceProvider',
From within the laravel folder of your project, run:
php artisan vendor:publish
Followed by:
php artisan migrate
Laravel 4
Using Composer, edit your composer.json file to require devfactory/media.
"require": {
"devfactory/media": "1.0.*"
}
Then from the terminal run
composer update
Then in your app/config/app.php file register the service providers:
'Devfactory\Media\MediaServiceProvider',
'That0n3guy\Transliteration\TransliterationServiceProvider',
Run the migration to create the DB table:
php artisan migrate --package=devfactory/media
Finally, publish the config to make changes to where and how the files are stored:
php artisan config:publish devfactory/media
Usage
To use the package, you need to add the following to any of your models which will be receiving media uploads.
<?php
class User extends Eloquent {
use \Devfactory\Media\MediaTrait;
);
Then to save a media, in the method that handles your form submission you just need to pass the File object to saveMedia():
public function upload() {
$user = User::firstOrCreate(['id' => 1]);
if (Input::hasFile('image')) {
$user->saveMedia(Input::file('image'));
}
return Redirect::route('route');
}
This will create the file on the file system and insert an entry into the DB table media.
If you need to set multiple different types of images on a Model, like the users' profile picture and a background for their page you can use the second parameter:
$user->saveMedia(Input::file('profile_picture'), 'profile_picture');
$user->saveMedia(Input::file('background_image'), 'background_image');
To retrieve the images again, you just need to call getMedia():
// Retrieves every Media linked with the user
$all_media = $user->getMedia();
// Retrieve a specific Media
$profile_picture = $user->getMedia('profile_picture');
Finally you can delete media with deleteMedia():
// Delete all media for a user
$user->deleteMedia();
// Delete specific media
$user->deleteMedia('profile_picture');
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 4.0.7 | >=7.2 | ^6.0| | MIT | |
| 4.0.6 | >=7.2 | ^6.0| | MIT | |
| 4.0.5 | >=7.2 | ^6.0| | MIT | |
| 4.0.3 | >=7.2 | ^6.0| | MIT | |
| 4.0.2 | >=7.2 | ~6.0 | MIT | |
| 4.0.0 | >=7.2 | ~6.0 | MIT | |
| 3.0.1 | >=5.4.0 | ~5.5 | MIT | |
| 3.0 | >=5.4.0 | ~5.5 | MIT | |
| 2.1.0 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.8 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.7 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.6 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.5 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.4 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.3 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.2 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.1 | >=5.4.0 | ~5.0 | MIT | |
| 2.0.0 | >=5.4.0 | ~5.0 | MIT | |
| 1.0.13 | >=5.4.0 | 4.* | MIT | |
| 1.0.12 | >=5.4.0 | 4.* | MIT | |
| 1.0.11 | >=5.4.0 | 4.* | MIT | |
| 1.0.10 | >=5.4.0 | 4.* | MIT | |
| 1.0.9 | >=5.4.0 | 4.* | MIT | |
| 1.0.8 | >=5.4.0 | 4.* | MIT | |
| 1.0.7 | >=5.4.0 | 4.* | MIT | |
| 1.0.6 | >=5.4.0 | 4.* | MIT | |
| 1.0.5 | >=5.4.0 | 4.* | MIT | |
| 1.0.3 | >=5.4.0 | 4.* | MIT | |
| 1.0.2 | >=5.4.0 | 4.* | MIT | |
| 1.0.1 | >=5.4.0 | 4.* | MIT |
Showing the latest 30 of 31. See every release on Packagist