Splitteur de zip en vrais zips
Fermé
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
-
7 févr. 2008 à 14:10
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 22 oct. 2013 à 13:23
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 22 oct. 2013 à 13:23
A voir également:
- Splitteur de zip en vrais zips
- Décompresser fichier zip - Guide
- Telecharger zip - Télécharger - Compression & Décompression
- Archive corrompue zip - Télécharger - Compression & Décompression
- Win zip - Télécharger - Compression & Décompression
- Zip repair - Télécharger - Compression & Décompression
4 réponses
Zabuza66
Messages postés
366
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
26 novembre 2008
66
7 févr. 2008 à 14:33
7 févr. 2008 à 14:33
Je ne pense pas que cela soit possible, dans ces conditions :(
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
7 févr. 2008 à 15:58
7 févr. 2008 à 15:58
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
Greg159357
Messages postés
112
Date d'inscription
lundi 21 octobre 2013
Statut
Membre
Dernière intervention
4 janvier 2014
3
22 oct. 2013 à 12:25
22 oct. 2013 à 12:25
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.
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 22/10/2013 à 13:06
Modifié par [Dal] le 22/10/2013 à 13:06
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.
Pierrecastor
Messages postés
41466
Date d'inscription
mercredi 5 novembre 2003
Statut
Modérateur
Dernière intervention
5 avril 2024
4 131
22 oct. 2013 à 12:32
22 oct. 2013 à 12:32
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 ?
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 22/10/2013 à 13:08
Modifié par [Dal] le 22/10/2013 à 13:08
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
Pierrecastor
Messages postés
41466
Date d'inscription
mercredi 5 novembre 2003
Statut
Modérateur
Dernière intervention
5 avril 2024
4 131
22 oct. 2013 à 13:08
22 oct. 2013 à 13:08
Je n'avais pas vu la date.
Mais ce que je comptais "proposer" était dans la même idée que ta réponse en post 6, un scripte bash qui te trie automatiquement tout des fichiers dans des répertoire de moins de 2 Mo puis qui les zip tous.
Mais ce que je comptais "proposer" était dans la même idée que ta réponse en post 6, un scripte bash qui te trie automatiquement tout des fichiers dans des répertoire de moins de 2 Mo puis qui les zip tous.
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
22 oct. 2013 à 13:21
22 oct. 2013 à 13:21
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
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié par [Dal] le 22/10/2013 à 13:27
Modifié par [Dal] le 22/10/2013 à 13:27
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