Puis-je modifier le niveau de compression de ZipArchive?
Est-il possible de modifier le niveau de compression et/ou la méthode utilisée par le ZipArchive
classe?
OriginalL'auteur Daniel Rikowski | 2009-12-02
Vous devez vous connecter pour publier un commentaire.
Ce n'est actuellement pas possible, selon le ouvrir
rapport de bugdemande de fonctionnalité sur php.net.Juste au cas où quelqu'un est toujours à la recherche, cette fonctionnalité ne semble pas encore être mis en œuvre dans le coeur de PHP est ZipArchive (mi-2012). J'ai l'intention d'utiliser system() et "zip -rn .jpg:.gif:.les images png images", mais cela peut ne pas être idéal pour toutes les situations.
je me demande si c'est vraiment difficile d'ajouter la fonctionnalité et/ou de corriger le bug. ne pourrait-ce pas être fait par une seule personne dans un délai de quelques jours?
Cette fonctionnalité est disponible depuis PHP 7.0.0, voir <github.com/php/php-src/commit/3a55ea02>.
Ils l'ont mis en œuvre après 7 ans...
OriginalL'auteur soulmerge
Comme indiqué dans le post précédent, vous ne pouvez pas le faire avec Zip.
Si vous spécifiez un niveau de compression est plus importante que la méthode d'archivage, puis PHP zlib permet:
$niveau - Le niveau de compression. Peut être donné comme 0 pour l'absence de compression jusqu'à 9 pour une compression maximale.
http://php.net/manual/en/book.zlib.php
OriginalL'auteur Indrek
Il semble avoir été mis en œuvre /ajoutée à la redistribution des fichiers en PHP 7: ZipArchive::setCompressionName et ZipArchive::setCompressionIndex. Pas testé.
PS: La raison pour laquelle il est défini individuellement pour les fichiers et non pas la totalité de l'archive est parce que les fichiers dans une archive ZIP sont en fait lui-même les fichiers ZIP et sont "collés" ensemble pour un "maître archive ZIP".
OriginalL'auteur StanE
En effet, il n'est pas possible encoredans 2014 j'ai donc dû utiliser la fonction "exec" de la fonction avec le zip de commande pour linux :
OriginalL'auteur Vindic