ZipArchive::addGlob

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)

ZipArchive::addGlobAjoute des fichiers d'un dossier en utilisant un masque glob

Description

publicZipArchive::addGlob(string$pattern, int$flags = 0, array$options = []): array|false

Ajoute des fichiers d'un dossier qui correspondent à un masque glob pattern.

Note: Pour une portabilité maximale, il est recommandé de toujours utiliser des barres obliques (/) comme séparateur de dossier dans les noms de fichiers zip.

Liste de paramètres

pattern

Un masque glob().

flags

Un masque d'octets de drapeaux glob().

options

Un tableau associatif d'options. Les options disponibles sont :

  • "add_path"

    Préfixe à ajouter lors de la traduction du chemin local du fichier dans l'archive. Il sera appliqué après les opérations de suppression définies par l'option "remove_path" ou l'option "remove_all_path".

  • "remove_path"

    Préfixe à supprimer des chemins des fichiers avant de les ajouter à l'archive.

  • "remove_all_path"

    true pour utiliser le nom du fichier uniquement, et ajouter les fichiers directement à la racine de l'archive.

  • "flags"

    Masque de bit consistant de ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. Le comportement de ces constantes est décrites sur la page des constantes ZIP.

  • "comp_method"

    Méthode de compression, l'une des constantes ZipArchive::CM_*, voir la pages des constantes ZIP.

  • "comp_flags"

    Niveau de compression.

  • "enc_method"

    Méthode de chiffrement, l'une des constantes ZipArchive::EM_*, voir la pages des constantes ZIP.

  • "enc_password"

    Mot de passe utilisé pour le chiffrement.

Valeurs de retour

Un tableau des fichiers ajoutée en cas de succès ou false si une erreur survient

Historique

VersionDescription
8.0.0 / 1.18.0flags a été ajouté.
8.0.0 / 1.18.1"comp_method", "comp_flags", "enc_method" et "enc_password" dans options ont été ajouté.
8.3.0 / 1.22.1ZipArchive::FL_OPEN_FILE_NOW a été ajouté.

Exemples

Exemple #1 Exemple avec ZipArchive::addGlob()

Ajoute tous les scripts PHP et les fichiers textes du dossier courant.

<?php
$zip
= new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if (
$ret !== TRUE) {
printf("A échoué avec le code d'erreur %d", $ret);
} else {
$options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
$zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
$zip->close();
}
?>

Voir aussi

To Top