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.