UP is deprecated. Please use the UP2, (*1)
UP for Laravel 4
UP is a file uploader with polymorphic relations., (*2)
Installation
To get the lastest version of Theme simply require it in your composer.json file., (*3)
"teepluss/up": "dev-master"
You'll then need to run composer install to download it and have the autoloader updated., (*4)
Once Theme is installed you need to register the service provider with the application. Open up app/config/app.php and find the providers key., (*5)
'providers' => array(
'Teepluss\Up\UpServiceProvider'
)
UP also ships with a facade which provides the static syntax for creating collections. You can register the facade in the aliases key of your app/config/app.php file., (*6)
'aliases' => array(
'UP' => 'Teepluss\Up\Facades\Up'
)
Publish config using artisan CLI., (*7)
php artisan config:publish teepluss/up
Migrate tables., (*8)
php artisan migrate --package=teepluss/up
Usage
First you have to create a morph method for your model that want to use "UP"., (*9)
class Blog extends Eloquent {
public function .....
/**
* Blog has many files upload.
*
* @return AttachmentRelate
*/
public function files()
{
return $this->morphMany('\Teepluss\Up\AttachmentRelates\Eloquent\AttachmentRelate', 'fileable');
}
}
After create a method "files", Blog can use "UP" to upload files.
Upload file and resizing., (*10)
// Return an original file meta.
UP::upload(Blog::find(1), Input::file('userfile'))->getMasterResult();
UP::upload(User::find(1), Input::file('userfile'))->getMasterResult();
// Return all results files uploaded including resized.
UP::upload(Product::find(1), Input::file('userfile'))->resize()->getResults();
// If you have other fields in table attachments.
UP::upload(User::find(1), Input::file('userfile'), array('some_id' => 999))->getMasterResult();
// UP can upload remote file.
UP::inject(array('remote' => true))->upload(User::find(1), Input::file('userfile'), array('some_id' => 999))->getResults();, (*11)
Look up a file path., (*12)
$blogs = Blog::with('files')->get();
foreach ($blogs as $blog)
{
foreach ($blog->files as $file)
{
// Access attachment.
// var_dump($file->atatchment);
echo UP::lookup($file->attachment_id);
// or lookup with scale from config.
echo UP::lookup($file->attachment_id)->scale('l');
}
}
Remove file(s) from storage., (*13)
$attachmentId = 'b5540d7e6350589004e02e23feb3dc1f';
// Remove a single file.
UP::remove($attachmentId);
// Remove all files including resized.
UP::remove($attachmentId, true);
If you have some problem, Please contact teepluss@gmail.com, (*14)
, (*15)