0

所以我想使用 RecursiveDirectoryIterator 压缩一个文件夹,它可以多快压缩一个非常复杂的目录,所有文件组合在一起不超过 600 MB 的大小?

这是正在使用的代码:

$mainFolder=basename($routeFolder);
if(!file_exists('../zips'))
    mkdir('../zips', 0744);

$zip = new ZipArchive;
$firstres=$zip->open($zipName, ZipArchive::OVERWRITE);

$files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($routeFolder),
    RecursiveIteratorIterator::SELF_FIRST
);

foreach ($files as $name => $file) {

    if(is_file($file) && file_exists($file)){
        $new_filename = substr($file, strpos($file, $mainFolder));
        $zip->addFile($file,$new_filename);
    }
}

$zip->close();

那么,压缩一个非常复杂的目录大约需要多长时间?它会面临任何内存问题吗?无论如何,我正在使用 ajax,所以它不会导致浏览器崩溃或浏览器页面变得无响应......但仍然需要多长时间?

4

0 回答 0