(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Заменяет файл в ZIP-архиве файлом по заданному пути
$filepath
,$index
,$start
= 0,$length
= ZipArchive::LENGTH_TO_END,$flags
= 0Метод заменяет файл в ZIP-архиве файлом по заданному пути.
Замечание: Для максимальной переносимости, рекомендуется всегда пользоваться прямыми слешами
/
как разделителями директорий в именах файлов.
filepath
Путь к файлу, который требуется добавить.
index
Индекс файла, который заменит метод; метод не изменит название файла.
start
Начальная позиция для частичного копирования.
length
Длина, которую требуется скопировать при частичном копировании,
если указали значение ZipArchive::LENGTH_TO_END
(0),
метод использует размер файла,
если указали значение ZipArchive::LENGTH_UNCHECKED
,
метод использует весь файл начиная со значения параметра start
.
flags
Битовая маска из следующих значений:
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
,
ZipArchive::FL_OPEN_FILE_NOW
.
Поведение констант описывает страница «ZIP-константы».
Функция возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.3.0, PECL-модуль zip 1.22.1 |
Добавили константу ZipArchive::FL_OPEN_FILE_NOW .
|
8.3.0, PECL-модуль zip 1.22.2 |
Добавили константы, которые задают значение длины:
ZipArchive::LENGTH_TO_END
и ZipArchive::LENGTH_UNCHECKED .
|
В примере открывается файл 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 'Ошибка';
}
?>