inwave / laravel-uploadcare
Laravel Serviceprovider for Uploadcare
Requires
- php: >=7.0.0
- laravel/framework: >=5.5.0
- laravelcollective/html: >=5.5.0
- uploadcare/uploadcare-php: >=v1.1.0
This package is auto-updated.
Last update: 2023-04-20 17:52:29 UTC
README
This is a simple Laravel service provider for Uploadcare's official PHP library. It is a fork from altitude/laravel-uploadcare and the pull request from dimaninc to make it compatible with Laravel 5. This package is now maintained by me.
Installation after laravel 5.5
- install package by composer:
composer require inwave/laravel-uploadcare
This package will auto discover itself, therefore there is no need to add files to the app.php. Further more it will also autodiscover it's dependencies.
- Publish the config file:
php artisan vendor:publish
- Add the required config variables in the .env file:
UPLOADCARE_PUBLIC_KEY= UPLOADCARE_PRIVATE_KEY=
Installation pre laravel 5.5
First, add this to your composer.json
file
"require": { "laravelcollective/html": "5.1.*", "inwave/laravel-uploadcare": "~1.3" }
Then, create config/uploadcare.php
with the following
<?php return array( 'public_key' => 'YOUR_UPLO ADCARE_PUBLIC_KEY_HERE', 'private_key' => 'YOUR_UPLOADCARE_PRIVATE_KEY_HERE', );
Best practice would be to put the keys in your .ENV file.
Finally, add the service provider and alias in your config/app.php
'providers' => array( ... Illuminate\Html\HtmlServiceProvider::class, Inwave\LaravelUploadcare\LaravelUploadcareServiceProvider::class, ); 'aliases' => array( ... 'Form' => Illuminate\Html\FormFacade::class, 'HTML' => Illuminate\Html\HtmlFacade::class, 'Uploadcare' => Inwave\LaravelUploadcare\Facades\Uploadcare::class, );
And you should be good to go.
Example
This Service extends Uploadcare's API class so you can use any of its methods.
It also provides the form macro Form::uploadcare($field_name, $value = null, $options = array())
.
app/Http/routes.php
Route::get('/demo', function(){ return View::make('demo/demo'); }); Route::post('/demo', function(){ echo Uploadcare::getFile(Input::get('image'))->getUrl(); });
resources/views/demo/demo.blade.php
<html> <head> <title>Uploadcare Demo</title> </head> <body> <form method="POST" action="/demo"> {!! Form::uploadcare('image', null, array('data-crop' => '3:4')) !!} <input type="submit"> </form> {!! Uploadcare::scriptTag() !!} </body> </html>
For more information, please check the offical documentation