PharData::copy
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::copy — Copy a file internal to the tar/zip archive to another new file within the same archive
Return Values
Always returns true.
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.
Examples
Example #1 A PharData::copy() example
This example shows using PharData::copy() and the
equivalent stream wrapper performance of the same thing. The primary
difference between the two approaches is error handling. All PharData methods
throw exceptions, whereas the stream wrapper uses trigger_error().
<?php
try {
$phar = new PharData('myphar.tar');
$phar['a'] = 'hi';
$phar->copy('a', 'b');
echo $phar['b']; // Outputs "phar://myphar.tar/b"
} catch (Exception $e) {
// Handle error
}
// The stream wrapper equivalent of the above code.
// E_WARNING are triggered on error rather than exceptions
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // Outputs "hi"
?>