(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::addFile — 将文件系统中的文件添加到 phar 归档文件
注意:
此方法需要 php.ini 设置
phar.readonly
设置为0
才能对 Phar 对象起作用。否则,将抛出 PharException。
使用此方法,可以将任何文件或 URL 添加到 phar 归档文件。如果可选的第二个参数 localName
是一个 string,则该文件将以该名称存储在归档文件中,否则 file
参数将用作存储在归档文件中的路径。URL 必须具有本地名称,否则会抛出异常。此方法类似于 ZipArchive::addFile()。
filename
要添加到 phar 归档文件的磁盘上文件的完整路径或相对路径。
localName
文件将在归档文件中存储的路径。
没有返回值,如果失败则会抛出异常。
版本 | 描述 |
---|---|
8.0.0 |
localName 现在可以为空。 |
示例 #1 Phar::addFile() 示例
<?php
try {
$a = new Phar('/path/to/phar.phar');
$a->addFile('/full/path/to/file');
// 演示此文件是如何存储的
$b = $a['full/path/to/file']->getContent();
$a->addFile('/full/path/to/file', 'my/file.txt');
$c = $a['my/file.txt']->getContent();
// 演示 URL 使用
$a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
// 在这里处理错误
}
?>
注意: Phar::addFile()、Phar::addFromString() 和 Phar::offsetSet() 每次调用时都会保存一个新的 phar 归档文件。如果性能是一个问题,应该使用 Phar::buildFromDirectory() 或 Phar::buildFromIterator() 代替。