This function, at least from my experience, maintains/forces the directory structure within the ZIP file.
ie. if you have FOLDER1/File1.txt in the zip file and you use
$zip->extractTo('/extract', 'FOLDER1/File1.txt');
the location of the extracted file will be:
/extract/FOLDER1/File1.txt
ZipArchive::extractTo
(No version information available, might be only in CVS)
ZipArchive::extractTo — アーカイブの内容を展開する
説明
アーカイブの全体あるいは指定したファイルを、 指定した場所に展開します。
パラメータ
- destination
-
ファイルを展開する場所。
- entries
-
展開するエントリ。単一のエントリ名、 あるいはエントリ名の配列を指定します。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
この例は、ZIP ファイルアーカイブをオープンして内部の各ファイルを読み込み、 その内容を表示します。この例で使用するアーカイブ test2.zip は、ZZIPlib のソース配布物に含まれているテスト用アーカイブのひとつです。
例1 全エントリの展開
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo '成功';
} else {
echo '失敗';
}
?>
例2 二つのエントリのみの展開
<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
$zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
ZipArchive::extractTo
tBone
03-Jun-2008 02:03
03-Jun-2008 02:03
