ZipArchive::replaceFile

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

ZipArchive::replaceFile指定されたパスのファイルにアーカイブの一部を置き換える

説明

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

指定されたパスのファイルにアーカイブの一部を置き換えます。

注意: ポータビリティを考慮して、ZIP ファイル名のディレクトリ区切り文字には常にスラッシュ (/) を使うことを推奨します。

パラメータ

filepath

追加するファイルのパス。

index

置き換えるファイルのインデックス。名前は変更されません。

start

ファイルを一部コピーする場合の開始位置。

length

ファイルを一部コピーする場合の、コピーする長さ。 0 または -1 を指定すると(start の位置から)ファイル全体をコピーします。

flags

以下のビットマスクの組み合わせ: ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437. これらの定数の振る舞いは、定義済みの定数 で説明しています。

戻り値

成功した場合に 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 
'ok';
} else {
    echo 
'failed';
}
?>

参考

関連キーワード:  アーカイブ, パス, ZipArchive, 指定, ファイル, コピー, int, replaceFile, 追加, 位置