Die PHP ZipArchive-Erweiterung und der comp_method-Wert
Datum: 14.10.2009 22:06:39Also 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/40Es sind keine Trackbacks vorhanden.
You liked it ? Link it on your homepage or blog:



Benjamin Steininger ist Webentwickler auf der Suche nach einem neuen Job und
photographiert sehr gerne. Er beschäftigt sich viel mit dem Internet, PHP, Symfony, Testing und hat einen
Kommentare (0)
Es sind noch keine Kommentare vorhanden.
Die Kommentare zu diesem Beitrag sind gesperrt.