Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ziplib [2017/02/22 10:24] webproducer angelegt |
ziplib [2019/09/04 21:40] (aktuell) webproducer GZip |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== ZIPlib - ZIP-Archiv mit PHP erstellen ====== | + | ====== 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: | ||
+ | |||
+ | {{:php:php:libzip.gif?direct|}} | ||
+ | |||
+ | <code php> | ||
+ | private function createZipFile( $origFilename ) | ||
+ | { | ||
+ | $zip = new ZipArchive(); | ||
+ | $zip->open( 'dateiname.zip', ZipARCHIVE::CREATE ); | ||
+ | $zip->addFile( $origFilename ); | ||
+ | $zip->close(); | ||
+ | |||
+ | unlink( $origFilename ); // Original-Datei wieder entfernen | ||
+ | } | ||
+ | |||
+ | </code> | ||
+ | |||
+ | 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. | 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. | ||
Zeile 13: | Zeile 38: | ||
Dokumentation des Autors: http://valentin.dasdeck.com/php/sfx/files/readme.txt | Dokumentation des Autors: http://valentin.dasdeck.com/php/sfx/files/readme.txt | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== gzip ===== | ||
+ | |||
+ | Gzip ist ein freies, plattformunabhängiges Kompressionsformat. | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | /** | ||
+ | * @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 ); | ||
+ | } | ||
+ | |||
+ | </code> |