10
votes

Ordre de tri des fichiers dans Zip Archive

Description

Je suis intéressé par l'apprentissage s'il existe un moyen de contrôler l'ordre de tri des fichiers à l'intérieur des fichiers zip à l'aide de routines standard en PHP et / ou Java.

Je ne suis pas principalement intéressé par l'utilisation de ZIP / UNZIP à l'aide de shell_exec () ou similaire, mais il peut être intéressant s'il fournit une solution facile à lire.

avec ordre de tri, il est prudent de supposer que cela signifie la date / l'heure si aucun ordre de tri n'est disponible dans le fichier ZIP. Je n'ai pas lu les spécifications donc je ne le saurais pas.

Exemple

fichiers

foo.txt
bar.txt
test.txt
NEWFILE.TXT

Supposons que chaque fichier contienne le nom du fichier (foo.txt => foo.txt)

problème

Je veux attacher un ordre de tri aux fichiers de sorte que lorsqu'il est décompressé à l'aide de Unzip les fichiers se retrouvent dans le bon ordre. C'est important pourquoi? Parce que j'utilise Unzip -p pour tuyer le contenu du fichier zip.

L'ordre dans lequel les fichiers sont ajoutés à l'archive ne doit pas avoir d'importance.

résultat

Résultat prévu (pour l'intention de cet exemple (à l'aide d'UNZIP -P))

test.txt
foo.txt
NEWFILE.TXT
bar.txt


2 commentaires

Pouvez-vous expliquer quel est votre but final? Comme peut-être que vous voulez que votre fichier README soit visible sans défiler dans WinZip. Parce que je ne pense pas qu'il soit possible de faire ce que vous décrivez, mais peut-être qu'il y a une meilleure façon.


Mon objectif final est décrit dans la section "Résultat". Rien de plus à cela. Pour pouvoir répondre, je suppose que vous devez connaître la commande omip


3 Réponses :


1
votes

Vous pouvez utiliser la commande zipinfo (ou Unzip -z ) pour afficher les fichiers dans l'archive. Man ZipInfo Avez également des exemples sur la manière de trier la sortie, mais il peut également être trié dans PHP si vous lisez dans les fichiers dans un tableau et triez le tableau.


1 commentaires

Je dois écrire le fichier ZIP de manière à ce qu'une OMPIP -P ultérieure génère les fichiers dans le bon ordre. Est-ce que cela est possible en utilisant la technique que vous décrivez avec la lecture du zipfile dans un tableau et un tri?



0
votes

L'ordre de tri des fichiers décompressés (ou des fichiers du système de fichiers) dépend du "client" que vous utilisez pour afficher les fichiers. La commande LS sur un système * Nix affichera les fichiers commandés par nom comme défaut. Si vous utilisez une forme d'application du gestionnaire de fichiers (ou unzipper), vous pourrez choisir le tri. Le tri prédéfini sur une archive n'a pas beaucoup de sens pour moi.


1 commentaires

Je ne parle pas de fichiers dans le système de fichiers, seuls les fichiers dans les archives ZIP. Et bien que cela puisse ne pas avoir de sens pour vous, cela me fait pour moi. Je ne peux pas changer le tri du "client". Je dois écrire un fichier avec les fichiers dans le bon ordre.



4
votes

Ce n'était pas vraiment si difficile. J'apparaisse que l'index des fichiers est lié à la commande dans laquelle les fichiers sont ajoutés à l'archive et que cela contrôle la sortie de Unzip -p car il semble itérer des fichiers de la mode 0..n.

Voici comment créer un fichier qui satisfait aux conditions. (Presque presque depuis que j'ai oublié les nouvelles lignes dans mes fichiers TXT) xxx


0 commentaires