CascadiaPHP 2024

ZipArchive::replaceFile

(PHP >= 8.0.0, PECL zip >= 1.18.0)

ZipArchive::replaceFileЗаменяет файл в ZIP-архиве заданным путём

Описание

public ZipArchive::replaceFile(
    string $filepath,
    int $index,
    int $start = 0,
    int $length = ZipArchive::LENGTH_TO_END,
    int $flags = 0
): bool

Заменяет файл в 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 / 1.22.1 Добавлена константа ZipArchive::FL_OPEN_FILE_NOW.
8.3.0 / 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
'Ошибка';
}
?>

Смотрите также

  • ZipArchive::addFile() - Добавляет в ZIP-архив файл по указанному пути

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top