PHP8 Phar::buildFromDirectory
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::buildFromDirectory — 从目录中的文件构建 phar 存档
说明
public Phar::buildFromDirectory(string $directory, string $pattern = ""): array
注意:此方法需要 将 php.ini 中的 phar.readonly 设为 0 以适合 Phar 对象. 否则, 将抛出PharException.
从目录内容填充 phar 存档。可选的第二个 参数是用于排除文件的正则表达式 (PCRE)。 将包含与正则表达式匹配的任何文件名,所有其他文件名都将包括 排除。对于更细粒度的控制,请使用 Phar::buildFromIterator()。
参数
directory
包含所有文件的目录的完整路径或相对路径 添加到存档中。
pattern
用于筛选 文件列表。仅与正则表达式匹配的文件路径 将包含在存档中。
返回值
Phar::buildFromDirectory() 返回一个关联数组 将文件的内部路径映射到 文件系统。
错误/异常
此方法在无法时引发 BadMethodCallException 实例化内部目录迭代器, 如果存在错误,则为 PharException 保存 Phar 存档。
更新日志
版本 | 说明 |
---|---|
8.1.0 | Phar::buildFromDirectory() 不再返回 false 。 |
示例
示例 #1 A Phar::buildFromDirectory() example
<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>
参见
- Phar::buildFromIterator() - 从迭代器构造 phar 存档