PHP8 ZipArchive::addGlob

2024-02-26 13:42 更新

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

ZipArchive::addGlob — 按 glob 模式从目录添加文件

说明

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

从与 glob 匹配的目录中添加文件。pattern

注意: 为了最大限度地提高代码可移植性,建议在 ZIP 文件名中使用斜线 (/) 做为目录分隔符。

参数 

pattern

一个 glob() 模式,文件将与之匹配。

flags

一点旗帜的面具。glob()

options

选项的关联数组。可用选项包括:

  • "add_path"

    转换为文件的本地路径时要预置的前缀 存档。这将在 or 选项定义的任何删除操作之后应用。"remove_path""remove_all_path"

  • "remove_path"

    在添加到存档之前从匹配的文件路径中删除的前缀。

  • "remove_all_path"

    true 仅使用文件名并添加到存档的根目录。

  • "flags"

    位掩码由 ZipArchive::FL_OVERWRITEZipArchive::FL_ENC_GUESSZipArchive::FL_ENC_UTF_8ZipArchive::FL_ENC_CP437ZipArchive::FL_OPEN_FILE_NOW 组成。 ZIP 常量页面上描述了这些常量的行为。

  • "comp_method"

    压缩方法,ZipArchive::CM_* 常量之一,请参阅 ZIP 常量页。

  • "comp_flags"

    压缩级别。

  • "enc_method"

    加密方法,ZipArchive::EM_* 常量之一,请参阅 ZIP 常量页。

  • "enc_password"

    用于加密的密码。

返回值 

成功时添加的文件数组 或者在失败时返回 false

更新日志 

版本说明
8.0.0 / 1.18.0"flags"添加了 in。options
8.0.0 / 1.18.1"comp_method"、 和 in 被添加。"comp_flags""enc_method""enc_password"options
8.3.0 / 1.22.1添加了 ZipArchive::FL_OPEN_FILE_NOW

示例 

示例 #1 ZipArchive::addGlob() example

从当前工作目录添加所有 php 脚本和文本文件

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

参见 

  • ZipArchive::addFile() - 从给定路径将文件添加到ZIP存档中
  • ZipArchive::addPattern() - 按 PCRE 模式从目录添加文件


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号