Ist es möglich, die von der Klasse ZipArchive
verwendete Komprimierungsstufe und/oder Methode zu ändern?Kann ich die Komprimierungsstufe von ZipArchive ändern?
Antwort
Dies ist derzeit laut open
bug report
feature request on php.net nicht möglich.
Wie im vorherigen Beitrag erwähnt, können Sie es nicht mit Zip tun. Wenn ein Komprimierungsgrad Angabe wichtiger als die Archivierungsmethode ist, dann PHP zlib erlaubt es:
string gzcompress (string $data [, int $level = -1 ])
$ level - Die Höhe der Kompression. Kann als 0 für keine Komprimierung bis 9 für maximale Komprimierung angegeben werden.
der Tat ist es nicht möglich evenin 2014 so hatte ich für Linux die „exec“ -Funktion mit dem Zip-Befehl zu verwenden:
exec("cd \"".$the_directory_you want_to_zip."\" && zip -0 -r \"".$path_zip."\" .");
Es scheint umgesetzt wurden/hinzugefügt Umverteilung Dateien in PHP 7: ZipArchive::setCompressionName und ZipArchive::setCompressionIndex. Nicht getestet.
PS: Der Grund, warum es individuell für Dateien und nicht das gesamte Archiv eingestellt ist, ist, weil Dateien innerhalb eines ZIP-Archivs selbst ZIP-Dateien sind und nur zu einem "Master-ZIP-Archiv" zusammengefügt werden.
- 1. Kann nicht ZipArchive-Klasse verwenden
- 2. Einstellung IIS7 gzip Komprimierungsstufe
- 3. Unterstützt FastZip von ICSharpCode.SharpZipLib die Einstellung der Komprimierungsstufe?
- 4. Enable ZipArchive auf localhost
- 5. PHP ZipArchive :: open führt immer zu einem ZIPARCHIVE :: ER_READ Fehler
- 6. PHP ZipArchive extractTo gibt
- 7. Überschreiben Datei in ZipArchive
- 8. ZipArchive Bibliothek Kompilierungsfehler
- 9. ZipArchive Rückgabe leerer Ordner C#
- 10. Wie kann ich die Eigenschaften ändern. C#
- 11. Wie kann ich die Feldgruppenreihenfolge ändern?
- 12. Wie kann ich die Antwortformatierung selbst ändern?
- 13. Ich kann die Seite nicht ändern
- 14. Wie kann ich die Request.RawUrl-Eigenschaft ändern?
- 15. ZipArchive Codierung mit japanischen Dateinamen
- 16. Kann ich die Position der Navigationsleiste ändern?
- 17. Wie kann ich die Startseite ändern?
- 18. Kann ich die Akzentfarbe (AppCompat) programmgesteuert ändern?
- 19. Ich kann die static_url in settings.py ändern?
- 20. Ich kann die Sitzungsparameter nicht ändern
- 21. Wie kann ich die Bildgröße ändern?
- 22. Kann ich die Android startActivity() - Übergangsanimation ändern?
- 23. Kann ich die Breite eines Liniendiagramms ändern?
- 24. Kann ich die Bootstrap-Farbe ändern?
- 25. Wie kann ich die Standard-Port-Nummer von Activemq ändern
- 26. Wie kann ich die Größe von Bildern bei phonegap ändern?
- 27. Wie kann ich die Benutzeroberflächensprache von Qt Creator 1.3.1 ändern?
- 28. Wie kann ich die Größe von QMessageBox ändern?
- 29. C# Kann ich die Variablen von Request.Form ändern?
- 30. Kann ich die Größe von Git-Add ändern?
+1 für die Durchstreichung – Drew
Nur für den Fall, dass noch jemand sucht, scheint diese Funktionalität noch nicht im ZipArchive von PHP core implementiert zu sein (Stand Mitte 2012). Ich plane, [system()] (http://php.net/manual/en/function.system.php) und "zip -rn.jpg: .gif: .png Bilder Bilder" zu verwenden, aber das ist möglicherweise nicht ideal für alle Situationen. – thirdender
Ich frage mich, ob es wirklich so schwer ist, einfach die Funktion hinzuzufügen und/oder den Fehler zu beheben. Könnte das nicht innerhalb von wenigen Tagen von einer einzigen Person erledigt werden? –