Da mein Dateimanager es mir nicht erlaubt, mehrere Dateien herunterzuladen, sondern sie nur einzeln herunterzuladen (was mühsam ist und irgendwann ineffizient wird), möchte ich wissen, wie ich alle meine Website-Dateiinhalte in einen einzigen ZIP-Ordner herunterladen kann. Ich habe einen Code gefunden, der von geeksForGeeks aus funktioniert, der jedoch nur auf der aktuellen Verzeichnisebene komprimiert (nicht rekursiv). Ich möchte, dass jede Datei auf meiner Website in einem ZIP-Ordner abgelegt wird und gleichzeitig ihr Platz in den entsprechenden Ordnern erhalten bleibt.
Der Code, den ich gefunden habe:
Code: Select all
// Enter the name of directory
$pathdir = "./";
// Enter the name to creating zipped directory
$zipcreated = "BackupFiles.zip";
// Create new zip class
$zip = new ZipArchive;
if($zip -> open($zipcreated, ZipArchive::CREATE ) === TRUE) {
// Store the path into the variable
$dir = opendir($pathdir);
while($file = readdir($dir)) {
if(is_file($pathdir.$file)) {
$zip -> addFile($pathdir.$file, $file);
}
}
$zip ->close();
}
Wie füge ich die Ordner ebenfalls hinzu? Es komprimiert nur die Dateien des aktuellen Verzeichnisses und nicht alle Unterordner.