Splitteur de zip en vrais zips
[Dal]
Messages postés
6373
Statut
Contributeur
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
Je recherche un outil qui me permette de créer de multiples fichiers zip dont la taille ne dépasse pas 2 Mo à partir de données qui se compactent normalement en environ 10Mo (taille du fichier zip unique).
Les différents logiciels de compression que j'ai pu tester (Winzip, 7-Zip, WinRAR) permettent de compacter de grosses quantités de données en de multiples volumes, qui peuvent, ensuite être reconstitués (par le même logiciel), mais ces multiples volumes ne constituent pas isolément de vrais fichiers zip, c'est à dire des fichiers zip pouvant être décompactés indépendamment les uns des autres par un autre décompacteur ne gérant pas les multiples volumes.
Connaissez-vous un logiciel capable de créer de réels multiples fichiers zip à partir des données brutes ou d'un fichier zip préexistant ?
Merci :-)
Dal
Je recherche un outil qui me permette de créer de multiples fichiers zip dont la taille ne dépasse pas 2 Mo à partir de données qui se compactent normalement en environ 10Mo (taille du fichier zip unique).
Les différents logiciels de compression que j'ai pu tester (Winzip, 7-Zip, WinRAR) permettent de compacter de grosses quantités de données en de multiples volumes, qui peuvent, ensuite être reconstitués (par le même logiciel), mais ces multiples volumes ne constituent pas isolément de vrais fichiers zip, c'est à dire des fichiers zip pouvant être décompactés indépendamment les uns des autres par un autre décompacteur ne gérant pas les multiples volumes.
Connaissez-vous un logiciel capable de créer de réels multiples fichiers zip à partir des données brutes ou d'un fichier zip préexistant ?
Merci :-)
Dal
A voir également:
- Splitteur de zip en vrais zips
- Télécharger 7-zip - Télécharger - Compression & Décompression
- Comment ouvrir un fichier zip - Guide
- Express zip - Télécharger - Compression & Décompression
- Bull zip - Télécharger - PDF
- Win zip - Télécharger - Compression & Décompression
4 réponses
Personne d'autre n'a d'idées ?
C'est un outil de "découpage" dont j'ai besoin pour uploader sur un site Web que je gère, et sur lequel je n'ai pas d'accès ftp, des fichiers zip qui vont être décompactés par le CMS (Joomla) qui gère le site Web (avec l'extension joomlaXplorer), ce serveur limitant lui-même la taille maximales des fichiers pouvant être uploadés à 2 Mo.
Mes fichiers zip ne doivent donc pas dépasser 2 Mo, et doivent chacun être dézippables pour reconstituer près de 20 Mo de données.
Je pense que d'autres Webmasters pourraient avoir besoin de telles fonctionnalités, la limitation de 2 Mo en upload étant assez courante.
Dal
C'est un outil de "découpage" dont j'ai besoin pour uploader sur un site Web que je gère, et sur lequel je n'ai pas d'accès ftp, des fichiers zip qui vont être décompactés par le CMS (Joomla) qui gère le site Web (avec l'extension joomlaXplorer), ce serveur limitant lui-même la taille maximales des fichiers pouvant être uploadés à 2 Mo.
Mes fichiers zip ne doivent donc pas dépasser 2 Mo, et doivent chacun être dézippables pour reconstituer près de 20 Mo de données.
Je pense que d'autres Webmasters pourraient avoir besoin de telles fonctionnalités, la limitation de 2 Mo en upload étant assez courante.
Dal
Bonjour,
Tu n'a qu'a faire un gros zip et le découper (si tu fais du C (ou autre) fais un logiciel qui lit 2 Mo, qui les mettes dans un fichier etc...
Si tu fais du C utilise fread en binaire.
Tu n'a qu'a faire un gros zip et le découper (si tu fais du C (ou autre) fais un logiciel qui lit 2 Mo, qui les mettes dans un fichier etc...
Si tu fais du C utilise fread en binaire.
Bonjour Greg159357,
Merci de ton aide, même tardive* :-)
Ton approche de simple "découpage" ne répondrait pas à la question posée, qui était de créer de multiples "fichiers zip" ne dépassant pas 2 Mo et "pouvant être décompactés indépendamment les uns des autres par un autre décompacteur ne gérant pas les multiples volumes". Ton découpage crée des fichiers qui ne sont des pas des fichiers .zip lisibles individuellement.
Bien sûr, on pourrait créer un programme en C (ou autre) qui compresse les données, en organisant les fichiers de façon intelligente (un peu comme un puzzle, où il faut choisir et agencer les bonnes pièces) pour que les fichiers entiers tiennent dans la limite imposée. C'est loin d'être un programme trivial si on veut le faire de façon vraiment intelligente. Sans optimisation particulière, on pourrait simplifier en compressant les fichiers dans un ordre arbitraire, en surveillant la taille compressée et lorsque la limite est atteinte ignorer la partie du flux compressé correspondant à un fichier non complètement compressé (ce que devrait permettre le format zip, où l'algorithme de compression n'utilise qu'une seule passe et compresse les fichiers individuellement dans le conteneur .zip).
Quand j'aurai un moment, je m'y mettrai sûrement ;-)
Dal
* Depuis 2008, j'ai changé d'hébergement pour un serveur dédié et j'ai la main sur les transferts de fichiers que je transfère avec scp quelle que soit la taille avec mon accès shell.
Merci de ton aide, même tardive* :-)
Ton approche de simple "découpage" ne répondrait pas à la question posée, qui était de créer de multiples "fichiers zip" ne dépassant pas 2 Mo et "pouvant être décompactés indépendamment les uns des autres par un autre décompacteur ne gérant pas les multiples volumes". Ton découpage crée des fichiers qui ne sont des pas des fichiers .zip lisibles individuellement.
Bien sûr, on pourrait créer un programme en C (ou autre) qui compresse les données, en organisant les fichiers de façon intelligente (un peu comme un puzzle, où il faut choisir et agencer les bonnes pièces) pour que les fichiers entiers tiennent dans la limite imposée. C'est loin d'être un programme trivial si on veut le faire de façon vraiment intelligente. Sans optimisation particulière, on pourrait simplifier en compressant les fichiers dans un ordre arbitraire, en surveillant la taille compressée et lorsque la limite est atteinte ignorer la partie du flux compressé correspondant à un fichier non complètement compressé (ce que devrait permettre le format zip, où l'algorithme de compression n'utilise qu'une seule passe et compresse les fichiers individuellement dans le conteneur .zip).
Quand j'aurai un moment, je m'y mettrai sûrement ;-)
Dal
* Depuis 2008, j'ai changé d'hébergement pour un serveur dédié et j'ai la main sur les transferts de fichiers que je transfère avec scp quelle que soit la taille avec mon accès shell.
Salut
Tu ne peut pas découper ton dossier à envoyer en amont, en faisant des répertoire contenant moins de 2 Mo ?
Tu ne peut pas découper ton dossier à envoyer en amont, en faisant des répertoire contenant moins de 2 Mo ?
Salut PierreCastor,
Greg a déterré un sujet datant de 2008, qui n'est plus d'actualité pour moi :-)
Sinon, ton approche est bonne puisque les .zip pèseront (la plupart du temps, sauf pour les données où aucun gain de place n'est obtenu par la compression) normalement moins lourd que les données contenues dans les répertoires.
Cependant : c'est fastidieux pour de nombreux petits fichiers de les organiser en répertoires et cela crée des répertoires dont tu ne veux pas, a priori.
Dal
Greg a déterré un sujet datant de 2008, qui n'est plus d'actualité pour moi :-)
Sinon, ton approche est bonne puisque les .zip pèseront (la plupart du temps, sauf pour les données où aucun gain de place n'est obtenu par la compression) normalement moins lourd que les données contenues dans les répertoires.
Cependant : c'est fastidieux pour de nombreux petits fichiers de les organiser en répertoires et cela crée des répertoires dont tu ne veux pas, a priori.
Dal
oui, on peut automatiser ta suggestion avec un script bash.
mais je ne crois pas qu'on puisse implémenter ma suggestion en bash :
en surveillant la taille compressée et lorsque la limite est atteinte ignorer la partie du flux compressé correspondant à un fichier non complètement compressé
Elle suppose d'avoir accès au flux compressé.
Je pensais plus à du C avec zlib et Minizip.
Dal
mais je ne crois pas qu'on puisse implémenter ma suggestion en bash :
en surveillant la taille compressée et lorsque la limite est atteinte ignorer la partie du flux compressé correspondant à un fichier non complètement compressé
Elle suppose d'avoir accès au flux compressé.
Je pensais plus à du C avec zlib et Minizip.
Dal
hmm, à la réflexion, si, on pourrait le faire en bash.
il suffit :
- de faire une liste des fichiers à compresser
- de compresser en commençant par le début en ajoutant les fichiers un par un et en vérifiant la taille du fichier .zip qui en résulte
- si le .zip dépasse la taille maximale, on retire du zip le dernier fichier ajouté
- on continue avec le .zip suivant
en ligne de commande, les compresseurs zip permettent d'ajouter ou de supprimer des fichiers à un fichier .zip existant.
pas besoin de répertoires !
:-)
Dal
il suffit :
- de faire une liste des fichiers à compresser
- de compresser en commençant par le début en ajoutant les fichiers un par un et en vérifiant la taille du fichier .zip qui en résulte
- si le .zip dépasse la taille maximale, on retire du zip le dernier fichier ajouté
- on continue avec le .zip suivant
en ligne de commande, les compresseurs zip permettent d'ajouter ou de supprimer des fichiers à un fichier .zip existant.
pas besoin de répertoires !
:-)
Dal