Benutzer-Werkzeuge

Webseiten-Werkzeuge


ziplib

ZIP-Archiv mit PHP erstellen

Libzip

Wenn bei Ihrer PHP-Version Libzip aktiviert ist können Sie direkt mit PHP ZIP-Archive erstellen. Dies können Sie durch den Aufruf der Funktkion phpinfo() herausfinden:

private function createZipFile( $origFilename )
{
    $zip = new ZipArchive();
    $zip->open( 'dateiname.zip', ZipARCHIVE::CREATE );
    $zip->addFile( $origFilename );
    $zip->close();
 
    unlink( $origFilename ); // Original-Datei wieder entfernen
}

Sollte Lipzip bei Ihnen nicht aktiv sein ist der Einsatz der nachfolgend beschriebenden PHP-Klasse ZIPlib möglich


ZIPlib

Mit der PHP-Libary „ZIPlib“ von Pascal Rehfeldt ist möglich in PHP ohne großen Aufwand ein ZIP-Archiv mit beliebig vielen Dateien zu erstellen.

Hierfür stellt die PHP-Klasse „zipfile“ folgende Methoden zur Verfügung:

Methode Beschreibung
addFile Erstellt aus Binär-Daten (z. B. BLOB aus mySQL) eine Datei und fügt sie dem ZIP-Archiv hinzu
addFileAndRead liesst eine bestehende Datei ein und fügt sie dem ZIP-Archiv hinzu
addDirContent fügt alle Dateien eines Verzeichnisses dem ZIP-Archiv hinzu
addFileAsPDF erstellt aus einer Text-Datei eine PDF-Datei und fügt sie dem ZIP-Archiv hinzu
file erstellt das ZIP-Archiv und gibt es zurück

Dokumentation des Autors: http://valentin.dasdeck.com/php/sfx/files/readme.txt


gzip

Gzip ist ein freies, plattformunabhängiges Kompressionsformat.

/**
* @param string $filename
*/
private function createGzipFile( &$filename )
{
    $csvContent = file_get_contents( $filename );   // Datei-Inhalt in eine Variable speichern
    unlink( $filename );                            // Original-Datei entfernen
 
    $filename = $filename . '.gz';
    $fp = gzopen( $filename, 'w9' );
 
    gzwrite( $fp, $csvContent );
    gzclose( $fp );
}
ziplib.txt · Zuletzt geändert: 2019/09/04 21:40 von webproducer