所以我想使用 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,所以它不会导致浏览器崩溃或浏览器页面变得无响应......但仍然需要多长时间?