(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.
patternpathoptionsEjemplo #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();
}
?>