Image Compress in Laravel

Introduction:

Explain the importance of image compress in web development, highlighting the impact on page load times, user experience, and SEO.

Prerequisites:

List the prerequisites for the tutorial, including a basic understanding of Laravel, Composer, and the installation of Laravel.

Step 1: Install Laravel Project

If you don't have a Laravel project set up, create one using the following command:

composer create-project --prefer-dist laravel/laravel image-optimization

Step 2: Install Intervention Image Package

Install the Intervention Image package using Composer:

composer require intervention/image

Step 3: Configure Intervention Image

Configure the Intervention Image package by updating the config/app.php file to include the service provider and facade:

'providers' => [
    // ...
    Intervention\Image\ImageServiceProvider::class,
],

'aliases' => [
    // ...
    'Image' => Intervention\Image\Facades\Image::class,
],

Step 4: Create a Controller

Generate a controller for handling image optimization:

php artisan make:controller ImageController

Step 5: Implement Image Optimization Logic

In your ImageController, implement the logic to optimize images. You can use the Intervention Image package methods for resizing, compressing, and saving images.

Example Controller:

file('image');
        
        // Resize the image to a specific width and height
        $resizedImage = Image::make($image)->resize(800, 600);

        // Compress the image with a quality setting
        $resizedImage->encode('jpg', 80);

        // Save the optimized image
        $resizedImage->save(public_path('uploads/' . $image->hashName()));

        return 'Image optimized and saved successfully!';
    }
}
Step 6: Create a Form

Create a simple HTML form to upload an image.




Image Upload

Image Upload

@if ($errors->any())

  • @foreach ($errors->all() as $error)
    • {{ $error }}
    • @endforeach

@endif

@csrf Choose Image:
Upload and Optimize

Step 7: Create a Route

Define a route in routes/web.php to access the image optimization functionality:

use App\Http\Controllers\ImageController;

Route::post('/optimize-image', [ImageController::class, 'optimizeImage']);

Route::get('/upload', function () {
    return view('upload');
});

Conclusion:

Summarize the key points of the tutorial, emphasizing the benefits of using the Intervention Image package for image optimization in Laravel.

 

Don’t hesitate to contact us any time

Our experts can help you accelerate your digital transformation journey!

Call Us For Any inquiry

+91 9054325004