Coder Social home page Coder Social logo

media's Introduction

#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:publish and php 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 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');

media's People

Contributors

markcameron avatar wunc avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.