With this package you can easy optimize your image in laravel. Read the google instruction https://developers.google.com/speed/docs/insights/OptimizeImages about image optimize.
Convert packages:
sudo apt-get install optipng jpegoptim
Require this package with composer:
composer require approached/laravel-image-optimizer
After updating composer, add the ServiceProvider to the providers array in config/app.php
'Approached\LaravelImageOptimizer\ServiceProvider'
Copy the package config to your local config with the publish command:
php artisan vendor:publish
On uploading a file:
public function store(Request $request)
{
// picture vars
$coverAbsoluteFilePath = $request->file('cover')->getRealPath();
$coverExtension = $request->file('cover')->getClientOriginalExtension();
// optimize (overwrite)
$opt = new ImageOptimizer();
$opt->optimizeImage($coverAbsoluteFilePath, $coverExtension);
// save (cloud storage like S3)
$coverOutput = file_get_contents($coverAbsoluteFilePath);
Storage::put('/upload/foo.' . $coverExtension, $coverOutput);
// delete cache
unlink($coverAbsoluteFilePath);
...
}
MIT