PHP Conference Nagoya 2025

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, 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
'Ошибка';
}

?>

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

Добавить

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

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