buildFromDirectory 在 7.2 上不会添加空子目录
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::buildFromDirectory — 从目录中的文件构建 tar/zip 压缩包
从目录内容填充 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$/');
?>