PHP8 Phar::copy
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::copy — 将 phar 存档内部的文件复制到 phar 中的另一个新文件
说明
public Phar::copy(string $from, string $to): bool
注意:此方法需要 将 中的 设为 以适合 Phar 对象. 否则, 将抛出PharException.php.iniphar.readonly0
将 phar 存档内部的文件复制到 phar 中的另一个新文件。 这是使用 copy() 的面向对象的替代方案 phar 流包装器。
参数
from
to
返回值
成功时返回 true,但将方法调用封装在 try/catch 块,如果没有抛出异常,则假定成功。
错误/异常
如果源文件不 exist,目标文件已存在,禁用写入访问,打开 文件失败,读取源文件失败,或者如果写入 phar 的更改失败,则为 PharException。
示例
示例 #1 A Phar::copy() example
此示例演示如何使用 Phar::copy() 和 同一件事的等效流包装器性能。主要 这两种方法的区别在于错误处理。所有 Phar 方法 抛出异常,而流包装器使用 trigger_error()。
<?php
try {
$phar = new Phar('myphar.phar');
$phar['a'] = 'hi';
$phar->copy('a', 'b');
echo $phar['b']; // outputs "hi"
} catch (Exception $e) {
// handle error
}
// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.phar/a', 'phar//myphar.phar/c');
echo file_get_contents('phar://myphar.phar/c'); // outputs "hi"
?>