Skip to content

$zip.extract

Description

Dézippe un ou plusieurs fichiers d'une archive zip.

Extraction de fichiers

Les options de la méthode permettent de spécifier quel(s) fichier(s) on souhaite extraire. On peut le faire soit en énumérant les chemins des fichiers à extraire, soit en indiquant une expression régulière qui filtre les noms de fichiers.

En pratique, il est préférable d'indiquer explicitement quels fichiers on souhaite extraire car cela est plus efficace en termes de performances. Le fait de ne spécifier qu'un filtre oblige la méthode à parcourir tout le contenu de l'archive, ce qui peut prendre du temps sur les grosses archives.

Zip slip

La méthode d'extraction effectue un contrôle de sécurité pour empêcher le zip slip.

Syntaxe

$zip.extract( zip , dest [ , options ] )

Paramètres

zip file / string
Source à dézipper
dest file / string
Dossier de destination. Peut être un objet file ou un path donné sous forme de string
options map

Map d'options. Les options reconnues sont:

files string / array
Nom du ou des fichiers à extraire. Si défini, seuls les fichiers indiqués sont dézippés. La valeur peut être une simple string ou un tableau de string
filter string
Filtre permettant d'indiquer quel(s) fichier(s) extraire. Le filtre est à passer sous la forme d'une expression régulière.

Retour

Retourne true si l'extraction a pu se faire sans erreur, sinon false.

Exemple

1
2
3
4
5
6
7
8
9
var source = $file.load("C:/Temp/ch.zip");
var destination = $file.create("C:/Temp/regbl-" & $cal.date(), null, { directory: true });

$zip.extract(source, destination, {
    files: [ "eingang_entree_entrata.csv",
             "gebaeude_batiment_edificio.csv",
             "kodes_codes_codici.csv",
             "wohnung_logement_abitazione.csv" ]
});