PHP Conference Nagoya 2025

ZipArchive::replaceFile

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

ZipArchive::replaceFileReplace file in ZIP archive with a given path

Beschreibung

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

Replace file in ZIP archive with a given path.

Hinweis: Für maximale Portierbarkeit wird empfohlen, in ZIP-Dateinamen immer Schrägstriche (/) als Verzeichnis-Trennzeichen zu verwenden.

Parameter-Liste

filepath

The path to the file to add.

index

The index of the file to be replaced, its name is unchanged.

start

For partial copy, start position.

length

For partial copy, length to be copied, if ZipArchive::LENGTH_TO_END (0) the file size is used, if ZipArchive::LENGTH_UNCHECKED the whole file is used (starting from start).

flags

Bitmask consisting of ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. The behaviour of these constants is described on the ZIP constants page.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.3.0, PECL zip 1.22.1 ZipArchive::FL_OPEN_FILE_NOW was added.
8.3.0, PECL zip 1.22.2 ZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.

Beispiele

This example opens a ZIP file archive test.zip and replaces index 1 entry with /path/to/index.txt.

Beispiel #1 Open and replace

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo
'ok';
} else {
echo
'failed';
}
?>

Siehe auch

add a note

User Contributed Notes

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