Я использую следующую функцию для сжатия файлов, но в каждом каталоге он может автоматически добавлять два файла, как показано ниже (красный цвет).PHP Ziparchive при размещении linux
Как сжать файлы, исключая эти нежелательные файлы?
function ziparchive($name,$folder){
// create object
$ziparchivename= $name.'.zip';
//echo $ziparchivename;
$zip = new ZipArchive();
// open archive
if ($zip->open($ziparchivename, ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
// close and save archive
$zip->close();
echo "Archive created successfully.";
}
Попробуйте выполнить обратный шаблон dirs ('.' и' ..') в итераторе 'foreach'. –