ZipArchive::addGlob

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

ZipArchive::addGlobAñadir ficheros de un directorio mediante un patrón glob

Descripción

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

Añade ficheros de un directorio que corresponde con el patrón global pattern.

Nota: Para una portabilidad máxima, se recomienda utilizar siempre barras hacia adelante (/) como separador de directorios en nombres de ficheros ZIP.

Parámetros

pattern

Un patrón glob()contra el cual se hará la correspondencia con los ficheros.

flags

Una máscara de un bit de marcas glob().

options

Un array asociativo de opciones. Las opciones disponibles son:

  • "add_path"

    Prefijo a indicar cuando se traduce la ruta de acceso del fichero dentro del archivo. Esta traducción se aplica después de cualquier operación de eliminación definida por las opciones "remove_path" o "remove_all_path".

  • "remove_path"

    Prefijo para eliminar la ruta de acceso de los ficheros antes de añadirlos al archivo.

  • "remove_all_path"

    true para utilizar únicamente el nombre del fichero y añadirlo a la raíz del archivo.

  • "flags"

    Máscara de bits compuesta por ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. El comportamiento de estas constantes se describe en la página de constantes ZIP.

  • "comp_method"

    Compression method, one of the ZipArchive::CM_* constants, see ZIP constants page.

  • "comp_flags"

    Compression level.

  • "enc_method"

    Encryption method, one of the ZipArchive::EM_* constants, see ZIP constants page.

  • "enc_password"

    Password used for encryption.

Valores devueltos

An array of added files on success o false en caso de error

Historial de cambios

VersiónDescripción
8.0.0 / 1.18.0"flags" in options was added.
8.0.0 / 1.18.1"comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.
8.3.0 / 1.22.1ZipArchive::FL_OPEN_FILE_NOW was added.

Ejemplos

Ejemplo #1 Ejemplo con ZipArchive::addGlob()

Añadir todos los ficheros de scripts y texto php del directorio de trabajo actual

<?php
$zip
= new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if (
$ret !== TRUE) {
printf('Erróneo con el código %d', $ret);
} else {
$options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
$zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
$zip->close();
}
?>

Ver también

To Top