Phar::copy
(PHP >= 5.3.0, PECL phar >= 2.0.0)
Phar::copy — Copy a file internal to the phar archive to another new file within the phar
Описание
bool Phar::copy
( string $oldfile
, string $newfile
)
Замечание: This
method requires the php.ini setting phar.readonly to be
set to 0 in order to work for Phar
objects. Otherwise, a PharException will be thrown.
Copy a file internal to the phar archive to another new file within the phar.
This is an object-oriented alternative to using copy() with
the phar stream wrapper.
Список параметров
-
oldfile
-
-
newfile
-
Возвращаемые значения
returns TRUE on success, but it is safer to encase method call in a
try/catch block and assume success if no exception is thrown.
Errors/Exceptions
throws UnexpectedValueException if the source file does not
exist, the destination file already exists, write access is disabled, opening either
file fails, reading the source file fails, or a PharException
if writing the changes to the phar fails.
Примеры
Пример #1 A Phar::copy() example
This example shows using Phar::copy() and the
equivalent stream wrapper performance of the same thing. The primary
difference between the two approaches is error handling. All Phar methods
throw exceptions, whereas the stream wrapper uses 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"
?>