Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencipta Arkib ZIP Berbilang Fail Boleh Muat Turun Menggunakan PHP?

Bagaimana untuk Mencipta Arkib ZIP Berbilang Fail Boleh Muat Turun Menggunakan PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-16 03:36:13278semak imbas

How to Create a Downloadable ZIP Archive of Multiple Files Using PHP?

Mencipta Arkib ZIP untuk Muat Turun Berbilang Fail Menggunakan PHP

Dalam pembangunan web, terdapat senario di mana anda perlu menyediakan berbilang fail untuk dimuat turun dalam satu pakej termampat . PHP menawarkan penyelesaian yang mudah untuk tugas ini menggunakan kelas ZipArchive.

Menggunakan Kelas ZipArchive

Untuk mencipta arkib ZIP, ikut langkah berikut:

$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);

Di sini, $zip mewakili arkib ZIP dan $zipname ialah nama fail yang dikehendaki.

Menambah Fail ke Arkib

Setelah arkib ZIP dibuat, anda boleh menambah fail individu padanya:

foreach ($files as $file) {
  $zip->addFile($file);
}

Ganti $files dengan tatasusunan yang mengandungi laluan atau nama fail.

Menutup dan Menstrim Arkib

Selepas menambah semua fail yang diperlukan, tutup arkib:

$zip->close();

Sekarang, strimkan arkib kepada klien untuk dimuat turun:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

Kod ini memaksa penyemak imbas untuk menggesa kotak muat turun dan menetapkan nama fail. Saiz fail ditentukan untuk menyelesaikan isu keserasian dalam sesetengah penyemak imbas.

Dengan langkah ini, anda boleh membuat dan memuat turun berbilang fail dengan mudah sebagai satu arkib ZIP menggunakan PHP.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Arkib ZIP Berbilang Fail Boleh Muat Turun Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn