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 Create Calendar Event In Laravel 9 Using AJAX
How To Create Calendar Event I...

In this article, we will see how to create a calendar event in laravel 9 using ajax. Here, we will learn how to add...

Read More

Dec-28-2022

Carbon Add Years To Date In Laravel 9
Carbon Add Years To Date In La...

In this article, we will see carbon add years to date in laravel 9. Carbon provides addYear() and addYears() functi...

Read More

Nov-21-2022

PHP Array Functions With Example
PHP Array Functions With Examp...

In this tutorial we will learn php array functions with example. An array is a data structure that contains a group of e...

Read More

Apr-23-2021

Laravel 9 Phone Number Validation Using Regex
Laravel 9 Phone Number Validat...

In this article, we will see laravel 9 phone number validation using regex. In laravel 9 we will see different meth...

Read More

Oct-25-2022