2009-12-02 10 views

Antwort

25

Dies ist derzeit laut open bug report feature request on php.net nicht möglich.

+8

+1 für die Durchstreichung – Drew

+1

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

+0

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? –

7

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.

http://php.net/manual/en/book.zlib.php

2

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."\" ."); 
2

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.

Verwandte Themen