(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Заменяет файл в ZIP-архиве указанным путём
$filepath
,$index
,$start
= 0,$length
= 0,$flags
= 0Заменяет файл в ZIP-архиве указанным путём.
Замечание: Для максимальной переносимости, рекомендуется всегда использовать прямые слеши (
/
) в качестве разделителя директорий в именах файлов.
filepath
Путь к файлу для добавления.
index
Индекс файла, подлежащего замене, его имя не изменяется.
start
Для частичного копирования начальная позиция.
length
Для частичного копирования - длина, которую нужно скопировать, если 0 или -1, используется весь файл (начиная со start
).
flags
Битовая маска, состоящая из
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
.
Поведение этих констант описано на странице
Константы ZIP.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
В этом примере открывается ZIP-архив test.zip и заменяется запись с индексом 1 на /path/to/index.txt.
Пример #1 Открытие и замена
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo 'Ок';
} else {
echo 'Ошибка';
}
?>