PHP 8.4.2 Released!

PharData::copy

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

PharData::copyКопирует файл внутри tar- или zip-архива в новый файл внутри того же архива

Описание

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

Метод копирует файл из 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'); // Выведет "привет"

?>

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top