Laravel 9 Create Zip File And Download

Websolutionstuff | May-02-2022 | Categories : Laravel PHP

In this article, we will see laravel 9 create a zip file and download it. Laravel provides ZipArchive class for creating zip files in laravel 9. I will give you examples step by step of how to create a zip file from a folder and download it in the laravel 9 application. we will create a zip file using the zip archive class in PHP laravel 9 application.

So, let's see how to create zip file and download in laravel 9, ziparchive laravel 9, create zip file in laravel 9, create a zip file from a folder and download in laravel 9, create zip file using ziparchive in laravel 9.

Step 1: Create Route

In this step, we will create a route in the web.php file

<?php
  
use Illuminate\Support\Facades\Route;

use App\Http\Controllers\ZipArchiveController;
  
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
  
Route::get('download-zip', [ZipArchiveController::class, 'downloadZip']);

 

 

Step 2: Create Controller

Now, create a new controller name as ZipArchiveController.

app/Http/Controllers/ZipArchiveController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use ZipArchive;

class ZipArchiveController extends Controller
{
    public function downloadZip()
    {                                
        $zip = new ZipArchive;

        $fileName = 'Example.zip';

        if ($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE)
        {
            $files = \File::files(public_path('Zip_Example'));

            foreach ($files as $key => $value) {
                $file = basename($value);
                $zip->addFile($value, $file);
            }
             
            $zip->close();
        }

        return response()->download(public_path($fileName));
    }
}

Note: I have created a Zip_Example folder in the public folder and added some images. So, you need to also create one folder and add some files also.

Output:

http://localhost:8000/download-zip

 


You might also like :

Recommended Post
Featured Post
How To Generate Barcode Using Javascript
How To Generate Barcode Using...

In this article, we will see how to generate barcode using javascript. We will use a javascript plugin to generate...

Read More

Nov-01-2022

How To Toggle Dark and Light Mode using jQuery
How To Toggle Dark and Light M...

In this article, we will see how to toggle between dark and light modes using jquery. As per the current trend of web de...

Read More

Nov-24-2020

Laravel 9 REST API With Passport Authentication
Laravel 9 REST API With Passpo...

In this article, we will see an example of laravel 9 REST API with passport authentication. Also, perform CRUD...

Read More

Mar-13-2022

How To Change Datepicker Start Date In Angular 15
How To Change Datepicker Start...

In this tutorial, I will guide you through the process of changing the start date of a datepicker component in Angular 1...

Read More

Jul-03-2023