アーカイブの内容を展開する
$pathto
$files
null
アーカイブの全体あるいは指定したファイルを、 指定した場所に展開します。
展開されたファイルとディレクトリのデフォルトのパーミッションは、 可能な限りもっとも広いアクセス権限になります。 これは umask 関数で変更できる umask で制限できます。
セキュリティ上の理由で、パーミッションは復元されません。 パーミッションを復元するコードのサンプルは、 ZipArchive::getExternalAttributesIndex の コードサンプル を参照ください。
pathto
ファイルを展開する場所。
files
展開するエントリ。単一のエントリ名、 あるいはエントリ名の配列を指定します。
成功した場合に true を、失敗した場合に false を返します。
true
false
例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 '成功'; } else { echo '失敗'; } ?>
注意: Windows の NTFS ファイルシステムには、ファイル名で使う場合にサポートしていない文字があります。具体的には、<|>*?": です。末尾にドットがあるファイル名もサポートしていません。いくつかの展開ツールと異なり、このメソッドはこれらの文字をアンダースコアで置き換えませんし、そのようなファイルを展開すると失敗します。
注意:
Windows の NTFS ファイルシステムには、ファイル名で使う場合にサポートしていない文字があります。具体的には、<|>*?": です。末尾にドットがあるファイル名もサポートしていません。いくつかの展開ツールと異なり、このメソッドはこれらの文字をアンダースコアで置き換えませんし、そのようなファイルを展開すると失敗します。
<|>*?":