Image Package for Laravel 4
This package provides the ability to conveniently work with uploaded images.
It includes an images table and model, and has the ability to provide multiple
versions of the same image with different dimensions, generated on demand., (*1)
Dependencies
This package relies on the laravel-storage to manage the image files, which supports writing to the local filesystem or the Amazon S3 service., (*2)
Installation Via Composer
Add this to you composer.json file, in the require object:, (*3)
"mmanos/laravel-image": "dev-master"
After that, run composer install to install the package., (*4)
Add the service provider to app/config/app.php
, within the providers
array., (*5)
'providers' => array(
// ...
'Mmanos\Image\ImageServiceProvider',
)
Add a class alias to app/config/app.php
, within the aliases
array., (*6)
'aliases' => array(
// ...
'Image' => 'Mmanos\Image\Image',
)
Configuration
Publish the default config file to your application so you can make modifications., (*7)
$ php artisan config:publish mmanos/laravel-image
Publish and run the database migrations for this package., (*8)
$ php artisan migrate:publish mmanos/laravel-image
$ php artisan migrate
Note: Don't forget to create the writable directory used by the Storage package, if using the local filesystem driver., (*9)
Usage
Creating Images
Create an image from image data:, (*10)
$image = Image::put($contents);
Create an image from an uploaded image file:, (*11)
$image = Image::upload($_FILES['image']);
Create an image from a file on the filesystem:, (*12)
$image = Image::copy($path);
Create an image from a URL to an image:, (*13)
$image = Image::copyUrl($url);
Using Images
Get URL to the original image:, (*14)
$url = $image->url();
Get URL to image constrained to 128px (best fit, maintaining aspect ratio):, (*15)
$url = $image->url('128');
Get URL to image constrained to 128px in height (maintaining aspect ratio):, (*16)
$url = $image->url('128h');
Get URL to image constrained to 128px in width (maintaining aspect ratio):, (*17)
$url = $image->url('128w');
Get URL to image cropped to a 128px square:, (*18)
$url = $image->url('128s');
Note: You may pass any arbitrary integer value for the image dimension., (*19)