PHP Conference Japan 2024

PharData::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::buildFromDirectory从目录中的文件构建 tar/zip 压缩包

描述

public PharData::buildFromDirectory(string $directory, string $pattern = ""): array

从目录内容填充 tar/zip 压缩包。可选的第二个参数是一个正则表达式 (pcre),用于排除文件。任何与正则表达式匹配的文件名都将包含在内,其他文件将被排除。如需更精细的控制,请使用 PharData::buildFromIterator()

参数

directory

包含要添加到压缩包的所有文件的目录的完整路径或相对路径。

pattern

可选的 pcre 正则表达式,用于过滤文件列表。只有与正则表达式匹配的文件路径才会包含在压缩包中。

返回值

Phar::buildFromDirectory() 返回一个关联数组,将文件的内部路径映射到文件系统上的文件完整路径,或者在失败时返回 false

错误/异常

当无法实例化内部目录迭代器时,此方法会抛出 BadMethodCallException 异常,如果保存 phar 压缩包时出现错误,则会抛出 PharException 异常。

变更日志

版本 描述
8.1.0 PharData::buildFromDirectory() 不再返回 false

示例

示例 #1 一个 PharData::buildFromDirectory() 示例

<?php
$phar
= new PharData('project.tar');
// 添加 project 中的所有文件
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// 添加 project 中的所有文件,只包含 php 文件
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

参见

添加注释

用户贡献的注释 1 个注释

dan
5 年前
buildFromDirectory 在 7.2 上不会添加空子目录
To Top