// ZipArchive sınıfından bir nesne oluşturalım
$zipArchive = new ZipArchive();
// Zip dosyasını kaydetmek istediğimiz yerin tam yolu burada
$zipFilePath = '/home/example/ornek.zip';
//Fonksiyonu çağıralım, klasörü açalım
$status = $zipArchive->open($zipFilePath, ZipArchive::CREATE);
// Zip arşivimize eklemek istediğimiz bir dizi dosya. (Birden çok dosya eklemek isteyebilirsiniz)
// Her dosyanın tam yolunu belirtmelisiniz.
$filesToAdd = array(
'/home/example/image.png',
'/home/example/test.jpg'
);
// Dosyalarımızı addFile işlevini kullanarak arşive ekliyoruz.
foreach($filesToAdd as $fileToAdd){
// addFile fonksiyonunu kullanarak söz konusu dosyayı ekliyoruz.
$zipArchive->addFile($fileToAdd);
}
//Son olarak arşiv dosyasını kapatıyoruz.
$zipArchive->close();
// Zip dosyasının tam yolunu alalım
$zipBaseName = basename($zipFilePath);
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=$zipBaseName");
header("Content-Length: " . filesize($zipFilePath));
readfile($zipFilePath);
exit;