PHP 5.4.40 Released


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

ZipArchive::addGlobAdd files from a directory by glob pattern


bool ZipArchive::addGlob ( string $pattern [, int $flags = 0 [, array $options = array() ]] )

Add files from a directory which match the glob pattern.

Elenco dei parametri


A glob() pattern against which files will be matched.


A bit mask of glob() flags.


An associative array of options. Available options are:

  • "add_path"

    Prefix to prepend when translating to the local path of the file within the archive. This is applied after any remove operations defined by the "remove_path" or "remove_all_path" options.

  • "remove_path"

    Prefix to remove from matching file paths before adding to the archive.

  • "remove_all_path"

    TRUE to use the file name only and add to the root of the archive.

Valori restituiti

Restituisce TRUE in caso di successo, FALSE in caso di fallimento.


Example #1 ZipArchive::addGlob() example

Add all php scripts and text files from current working directory

= new ZipArchive();
$ret $zip->open(''ZipArchive::OVERWRITE);
if (
$ret !== TRUE) {
printf('Failed with code %d'$ret);
} else {
$options = array('add_path' => 'sources/''remove_all_path' => TRUE);

Vedere anche:

add a note add a note

User Contributed Notes 3 notes

johnsmith at na dot com
1 month ago
Neither 'remove_all_path' or 'remove_path' options seem to be workng
sumariva at gmail dot com
11 days ago
As others suggested, to remove all paths, use the space as basepath.
Zip opened with builtin utility on a Windows XP and WinRAR.

$options = array('add_path' => ' ','remove_all_path' => TRUE);

Thanks for all contributers.
zckernel at gmail dot com
2 months ago
Doesn't work with the following options:
$options = array('remove_all_path' => TRUE);
$zipArchive->addGlob($path."/*", GLOB_BRACE, $options);

The full path to file is adding to the archive.

Works well if:
$options = array('add_path' => './','remove_all_path' => TRUE);
To Top