open('/persist/backup.zip', ZipArchive::CREATE) === TRUE) { foreach ($itA as $name => $entry) { if(is_dir($name)) continue; $files[] = $name; } foreach ($itB as $name => $entry) { if(is_dir($name)) continue; $files[] = $name; } } $i = $percent = 0; foreach($files as $name) { if($name === '/persist/backup.zip') { continue; ++$i; } $zip->addFile($name); $newPercent = (++$i / count($files)); if($newPercent - $percent >= 0.01) { print $newPercent . PHP_EOL; $percent = $newPercent; } } $zip->close(); exit;