(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::addFile — 指定したパスからファイルを ZIP アーカイブに追加する
$filename
[, string $localname
= NULL
[, int $start
= 0
[, int $length
= 0
]]] )指定したパスから、ファイルを ZIP アーカイブに追加します。
注意: ポータビリティを考慮して、ZIP ファイル名のディレクトリ区切り文字には常にスラッシュ (/) を使うことを推奨します。
filename
追加するファイルへのパス。
localname
指定した場合は ZIP アーカイブ内部での名前となり、filename
を上書きします。
start
このパラメータは使いませんが、ZipArchive を継承するためには必要です。
length
このパラメータは使いませんが、ZipArchive を継承するためには必要です。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
この例は、ZIP ファイルアーカイブ test.zip をオープンし、ファイル /path/to/index.txt を newname.txt という名前で追加します。
例1 オープンおよび追加
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo '成功';
} else {
echo '失敗';
}
?>
注意:
アーカイブにファイルを追加するよう設定すると、PHP はそのファイルをロックします。 ロックが解除されるのは、ZipArchive::close() を呼ぶなり ZipArchive オブジェクトを破棄するなりして ZipArchive オブジェクトが閉じられたときだけです。 そのため、追加しようとしているファイルがロックが解除される前に削除されるようなことは起こりません。