(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::copy β ΠΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Π²Π½ΡΡΡΠΈ tar- ΠΈΠ»ΠΈ zip-Π°ΡΡ ΠΈΠ²Π° Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π²Π½ΡΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°ΡΡ ΠΈΠ²Π°
ΠΠ΅ΡΠΎΠ΄ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ· tar- ΠΈΠ»ΠΈ zip-Π°ΡΡ ΠΈΠ²Π° Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π²Π½ΡΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°ΡΡ ΠΈΠ²Π°. ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ copy() Ρ ΠΎΠ±ΡΡΡΠΊΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠ° phar.
from
to
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΠ΅ΡΠΎΠ΄ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ UnexpectedValueException, Π΅ΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π΄ΠΎΡΡΡΠΏ Π½Π° Π·Π°ΠΏΠΈΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ», ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ PharException, Π΅ΡΠ»ΠΈ Π² phar-ΡΠ°ΠΉΠ» Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π²Π½ΡΡΡΠΈ tar- ΠΈΠ»ΠΈ zip-Π°ΡΡ ΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ PharData::copy()
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° PharData::copy() ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ Π΅ΠΌΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΡΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°ΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° PharData Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π° ΠΎΠ±ΡΡΡΠΊΠ° ΠΏΠΎΡΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ trigger_error().
<?php
try {
$phar = new PharData('myphar.tar');
$phar['a'] = 'ΠΏΡΠΈΠ²Π΅Ρ';
$phar->copy('a', 'b');
echo $phar['b']; // ΠΡΠ²ΠΎΠ΄ΠΈΡ "phar://myphar.tar/b"
} catch (Exception $e) {
// ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
}
// ΠΠ±ΡΡΡΠΊΠ° ΠΏΠΎΡΠΎΠΊΠ° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
// ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΠΎΠ²Π½Ρ E_WARNING
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // ΠΡΠ²Π΅Π΄Π΅Ρ "ΠΏΡΠΈΠ²Π΅Ρ"
?>