Die PHP ZipArchive-Erweiterung und der comp_method-Wert

Flattr this
Tweet this: Die PHP ZipArchive-Erweiterung und der comp_method-Wert
Dent this: Die PHP ZipArchive-Erweiterung und der comp_method-Wert
Tags: bzip2, SPL, Zip, ZipArchive
Datum: 14.10.2009 22:06:39

Also ich meinen Codeschnipsel zum Anzeigen von Informationen über Zip-Archive geschrieben hab, bin auf die Information comp_method aufmerksam geworden die man sich über die Methode statIndex() bzw. statName() des ZipArchiv-Objektes für Dateien ausgeben lassen kann. Dieses Feld gibt an in welcher Form (mit welcher Methode) die einzelne Datei innerhalb des Archivs komprimiert ist. Mögliche Modis lassen sich aus den ZipArchive::CM_-Konstanten und den Angaben im Manual ableiten:

ZIPARCHIVE::CM_STORE (integer)
stored (uncompressed).
ZIPARCHIVE::CM_SHRINK (integer)
shrunk
ZIPARCHIVE::CM_REDUCE_1 (integer)
reduced with factor 1
ZIPARCHIVE::CM_REDUCE_2 (integer)
reduced with factor 2
ZIPARCHIVE::CM_REDUCE_3 (integer)
reduced with factor 3
ZIPARCHIVE::CM_REDUCE_4 (integer)
reduced with factor 4
ZIPARCHIVE::CM_IMPLODE (integer)
imploded
ZIPARCHIVE::CM_DEFLATE (integer)
deflated
ZIPARCHIVE::CM_DEFLATE64 (integer)
deflate64
ZIPARCHIVE::CM_PKWARE_IMPLODE (integer)
PKWARE imploding
ZIPARCHIVE::CM_BZIP2 (integer)
BZIP2 algorithm

Leider unterstützt die Zip-Extension diese Werte nur beim lesen, es ist noch nicht möglich diese Werte zu ändern oder beim erstellen eines Archivs zu setzen um.

Sinnvolle Anwendungsgebiete würden mir da auch ein paar einfallen, z.b. wenn man Archive mit vielen eh schon komprimierten Dateien (jpeg, png, mp3, ... ) erstellen will und den unnötigen Rechenaufwand diese weiter zu komprimieren sparen will könnte man mit ZIPARCHIE::CM_STORE veranlassen dass die Datei(en) überhaupt nicht komprimiert werden und so das Zip-Archiv als einfachen Container genutzt wird. Mit bzip2 wäre es möglich in einigen Fällen eine bessere Kompression auf Kosten einer höheren Rechenzeit zu erreichen.

Ich hoffe allerdings dass diese Funktionalität es irgendwann in die Zip-Erweiterung schafft.


Trackbacks (0)

Trackbackurl: http://www.robo47.net/trackback/text/40

Es sind keine Trackbacks vorhanden.


Kommentare (0)

Es sind noch keine Kommentare vorhanden.

Die Kommentare zu diesem Beitrag sind gesperrt.

You liked it ? Link it on your homepage or blog: