Baza modelek Glamour Models: Modelki, Fotomodelki, Hostessy

środa, 6 stycznia 2016

Jak stworzyć archiwum Zip w PHP

Przykład rekursywnego tworzenia archiwum Zip:

<?php

$directory = 'files';

$path = __DIR__ . '/' . $directory;
$filename  = sprintf('%s.zip', $path);


$zip = new ZipArchive;
$zip->open($filename, ZipArchive::CREATE);

$files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($path),
    RecursiveIteratorIterator::LEAVES_ONLY
);

foreach ($files as $name => $file) {
    if (! $file->isDir()) {
        $filePath = $file->getRealPath();
 
        $relativePath = substr($filePath, strlen($path) + 1);
 
        $zip->addFile($filePath, $relativePath);
    }
}

$zip->close();