Cara Membuat Dan Mengekstrak File Zip Di Laravel 8 - CRUDPRO

Cara Membuat Dan Mengekstrak File Zip Di Laravel 8

Contoh ini menggunakan paket chumper/ritsleting untuk membuat dan mengekstrak file zip dengan laravel. Proses "mengompresi" file adalah mengubahnya menjadi format arsip seperti "ZIP". Kompres file untuk membuatnya lebih kecil.

Buat dan Ekstrak File Zip di Laravel

Anda dapat mengompres beberapa file menjadi satu arsip ZIP, dan ukuran file yang kecil memudahkan penyimpanan dan transfer melalui email. Anda dapat memindahkannya hanya dengan memindahkan satu file ZIP tersebut. Oleh karena itu, ia bertindak sebagai satu file daripada seluruh folder. Jika Anda perlu memindahkan sejumlah besar file atau file berukuran besar, mungkin yang terbaik adalah mengompresnya.

Langkah 1: Instal proyek Laravel

Unduh proyek laravel dengan mengetikkan perintah berikut di cmd:

composer create-project --prefer-dist laravel/laravel laravelzip

Langkah 2: Instal paket champer / ritsleting.

Instal paket chumper/ritsleting dengan menekan perintah berikut di cmd.

composer require chumper/zipper  

Langkah 3: Tentukan penyedia dan alias.

Temukan penyedia di file config >> app.php dan daftarkan ZipperServiceProvider.

'providers' => [
    // ...
   'Chumper\Zipper\ZipperServiceProvider',
]

Temukan alias di file config >> app.php dan tentukan aliasnya.

'aliases' => [
    // ...
    'Zipper' => 'Chumper\Zipper\Zipper',
]

Langkah 4: Buat pengontrol

php artisan make:controller DataController --resource

Buat satu file controller bernama DataController.php.

Langkah 5: Buat file Zip dengan Laravel

Kemudian masukkan kode berikut di Controller untuk membuat file Zip.

public function create()
{
    $files = glob(public_path('js/*'));
    \Zipper::make(public_path('test.zip'))->add($files)->close();
    return response()->download(public_path('test.zip'));
}

Jika Anda ingin zip seluruh proyek, ubah jalurnya.

public function create()
{
    $files = base_path(); 
    \Zipper::make(public_path('test.zip'))->add($files)->close();
    return response()->download(public_path('test.zip'));
}

File test.zip akan diunduh ke direktori publik Anda.

Langkah 6: Ekstrak file Zip dengan Laravel

File test.zip telah dibuat untuk memudahkan ekstraksi dari direktori publik.

public function index()
{
    $Path = public_path('test.zip');
    \Zipper::make($Path)->extractTo('Appdividend');
}

Anda dapat melihat bahwa folder telah dibuat di direktori publik bernama Appdividend. Folder ini berisi file zip yang diekstrak.

Langkah 7: Bangun rute

Daftarkan root di file root >> web.php. Jadi mari kita lakukan.

//web.php
Route::get('create','DataController@create');
Route::get('index', 'DataController@index');

Tentukan dua rute. Root pertama membuat file zip. Root kedua untuk mengekstrak file zip. Mulai pengembangan Laravel dengan mengetikkan perintah berikut:

php artisan serve

Masukkan URL di browser Anda: http://localhost:8000/create

Kemungkinan kesalahan:

Waktu eksekusi maksimum 60 detik telah terlampaui.

Solusi yang mungkin:

Tambahkan baris berikut ke fungsi create() dan index().

ini_set('max_execution_time', 3000);

Itu saja untuk tutorial ini. Terima kasih telah mengambilnya.