Hallo,
bei $fp = gzopen("name.zip","a") hat man normale Komprimierung.
Irgendwo habe ich gelesen, das man die Kompriemierung verbessern könnte.
Geht das? Wenn ja, wie?
Danke
gzip Komprimierung
Ähm jein. Normalerweise kann man ein Komprimierungs-Level angeben, siehe z.B: http://de.php.net/manual/de/function.gzencode.php
Bei gzopen() ist das aber nicht möglich, aber mach dir da nichts draus, m.E. ist das ohnehin unsinnig. Der Standardlevel dürfte für nahezu alle Fälle der optimale Kompromiss zwischen Dateigröße bzw. Traffic und CPU-Auslastung sein.
Bei gzopen() ist das aber nicht möglich, aber mach dir da nichts draus, m.E. ist das ohnehin unsinnig. Der Standardlevel dürfte für nahezu alle Fälle der optimale Kompromiss zwischen Dateigröße bzw. Traffic und CPU-Auslastung sein.
Du kannst sie ja komprimieren, entweder mittels dem gzopen(), die fehlende Möglichkeit der Einstellung des Kompressionslevels sollte kein Problem darstellen, die Kompression sollte trotzdem ausreichend sein.
Solltest du wirklich das Level einstellen wollen, wird dir nicht viel anderes übrig bleiben als gzcompress() zu nutzen, wozu du die Datei aber erstmal komplett in einen String packen müsstest, was je nach Datei-Größe ein Problem werden kann (mehr als 1 MB würde ich so nicht behandeln).
Ungetestet:
Solltest du wirklich das Level einstellen wollen, wird dir nicht viel anderes übrig bleiben als gzcompress() zu nutzen, wozu du die Datei aber erstmal komplett in einen String packen müsstest, was je nach Datei-Größe ein Problem werden kann (mehr als 1 MB würde ich so nicht behandeln).
Ungetestet:
Code: Alles auswählen
$source_file = "lala.txt";
define("GZ_LEVEL", 9);
$data = file_get_contents($source_file);
file_put_contents($source_file . ".gz", gzcompress($data, GZ_LEVEL));