PharData::copy

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

PharData::copy将 phar 归档内部的一个文件复制到归档内的另一个新文件

说明

public PharData::copy(string $from, string $to): bool

将 tar/zip 归档内部的一个文件复制到同一个归档内的另一个新文件。这是使用 copy() 与 phar 流包装器的面向对象替代方案。

参数

from

to

返回值

成功时返回 true,但将方法调用包含在 try/catch 块中并假设在没有抛出异常的情况下成功更安全。

错误/异常

如果源文件不存在、目标文件已存在、写入访问被禁用、打开任何文件失败、读取源文件失败,则抛出 UnexpectedValueException,或者如果将更改写入 phar 失败,则抛出 PharException

范例

范例 #1 PharData::copy() 例子

此示例展示了使用 PharData::copy() 和等效的流包装器性能。这两种方法之间的主要区别在于错误处理。所有 PharData 方法都抛出异常,而流包装器使用 trigger_error()

<?php
try {
$phar = new PharData('myphar.tar');
$phar['a'] = 'hi';
$phar->copy('a', 'b');
echo
$phar['b']; // 输出 "phar://myphar.tar/b"
} catch (Exception $e) {
// 处理错误
}

// 上述代码的流包装器等效项。
// 错误时触发 E_WARNINGS 而不是异常。
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo
file_get_contents('phar://myphar.tar/c'); // 输出 "hi"
?>

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top