English | 简体中文 | 繁體中文
查询

ZipArchive::addGlob()函数—用法及示例

「 向 ZIP 归档文件中添加与指定的 glob 模式匹配的文件 」


函数:ZipArchive::addGlob()

适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8

用法:ZipArchive::addGlob() 方法用于向 ZIP 归档文件中添加与指定的 glob 模式匹配的文件。

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

参数:

  • pattern:要匹配的 glob 模式,可以包含通配符或正则表达式。
  • flags(可选):用于修改匹配行为的标志。可选的标志有:
    • GLOB_MARK:在匹配的目录后附加斜杠。
    • GLOB_NOSORT:不进行排序。
    • GLOB_NOCHECK:如果没有匹配项,则返回模式本身。
    • GLOB_NOESCAPE:禁用反斜杠的转义。
    • GLOB_BRACE:扩展 {a,b,c} 来匹配 a、b 和 c。
    • GLOB_ONLYDIR:仅返回目录中匹配的项。
    • GLOB_ERR:如果发生错误,则停止并返回错误码。
  • options(可选):用于传递额外的选项的数组。

返回值:成功时返回 TRUE,失败时返回 FALSE。

示例:

$zip = new ZipArchive;
$zipFile = 'archive.zip';

if ($zip->open($zipFile, ZipArchive::CREATE) === TRUE) {
    $zip->addGlob('path/to/files/*.txt', 0, ['add_path' => 'files/']);
    $zip->close();
    echo 'Files added successfully to the archive.';
} else {
    echo 'Failed to create the archive.';
}

上述示例中,我们创建了一个名为 "archive.zip" 的 ZIP 归档文件,并向其添加位于 "path/to/files/" 目录下的所有以 ".txt" 结尾的文件。我们使用了额外的选项 ['add_path' => 'files/'],该选项将添加文件时的路径前缀设置为 "files/",即将文件添加到 ZIP 归档文件中时,会在文件名前加上 "files/" 前缀。最后,我们关闭了 ZIP 归档文件,并输出相应的结果。

请注意,此函数需要安装并启用 PHP 的 Zip 扩展。

补充纠错
热门PHP函数
分享链接