(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)
ZipArchive::addPattern — Añade ficheros de un directorio a partir de un patrón PCRE
$pattern, string $path = ".", array $options = []): array|false
Añade ficheros de un directorio que coinciden con la expresión regular pattern.
La operación no es recursiva. Únicamente se hará la correspondencia del patrón con el nombre del fichero.
patternUn patrón PCRE contra el cual se realizará la correspondencia.
pathEl directorio que será escaneado. Por defecto es el directorio de trabajo actual.
optionsUn array asociativo de opciones aceptadas por ZipArchive::addGlob().
Ejemplo #1 Ejemplo con ZipArchive::addPattern()
Añadir todos los scripts y ficheros de texto php del directorio actual
<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('Erróneo con código %d', $ret);
} else {
$directory = realpath('.');
$options = array('add_path' => 'sources/', 'remove_path' => $directory);
$zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
$zip->close();
}
?>