Wie kann ich ein Verzeichnis in PHP komprimieren?
ZIP ist ein Archivdateiformat, das die verlustfreie Datenkomprimierung unterstützt. Eine ZIP-Datei kann eine oder mehrere komprimierte Dateien oder Verzeichnisse enthalten. Die PHP-ZipArchive-Klasse kann zum Komprimieren und Entpacken verwendet werden. Es kann erforderlich sein, die Klasse zu installieren, wenn sie nicht vorhanden ist.
Installation für Linux-Benutzer:
Um diese Funktionen nutzen zu können, müssen Sie PHP mit Zip-Unterstützung kompilieren, indem Sie die Konfigurationsoption –enable-zip verwenden.
Installation für Windows-Benutzer:
Ab PHP 5.3 ist diese Erweiterung eingebaut. Zuvor müssen Windows-Benutzer php_zip.dll innerhalb von php.ini aktivieren, um ihre Funktionen nutzen zu können.
Beispiel: Dieses Beispiel verwendet die ZipArchive-Klasse und erstellt eine gezippte Datei.
<?php // Enter the name of directory $pathdir = "Directory Name/"; // Enter the name to creating zipped directory $zipcreated = "Name of Zip.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(); } ?>
Beispiel: Dieses Beispiel verwendet die ZipArchive-Klasse, um die Datei oder das Verzeichnis zu entpacken.
<?php // Create new zip class $zip = new ZipArchive; // Add zip filename which need // to unzip $zip->open('filename.zip'); // Extracts to current directory $zip->extractTo('./'); $zip->close(); ?>
Schritte zum Ausführen des Programms: Komprimieren Sie ein Verzeichnis „zipfile“, das eine Datei „a.txt“ enthält.
- Speichern Sie den obigen Code in zwei Dateien mit der Erweiterung .php . Eine für zip und eine andere zum Entpacken des Verzeichnisses. Geben Sie auch den entsprechenden Pfad für das Verzeichnis an.
- Hier verwenden wir XAMPP, um einen lokalen Webserver auszuführen. Legen Sie die PHP-Dateien zusammen mit dem zu komprimierenden Verzeichnis in C:\xampp\htdocs ab (XAMPP wird in diesem Fall auf Laufwerk C: installiert).
- Geben Sie im Browser als URL https://localhost/zip.php ein und die Datei wird gezippt.
- Danach wird eine neue ZIP-Datei mit dem Namen „Datei“ erstellt.
Machen Sie dasselbe zum Entpacken. Stellen Sie sicher, dass Dateiname und Pfad übereinstimmen. Die Textdatei a.txt wird aus der Zip-Datei extrahiert.