ZipArchive::extractTo

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::extractToアーカイブの内容を展開する

説明

public ZipArchive::extractTo(string $pathto, array|string|null $files = null): bool

アーカイブの全体あるいは指定したファイルを、 指定した場所に展開します。

警告

展開されたファイルとディレクトリのデフォルトのパーミッションは、 可能な限りもっとも広いアクセス権限になります。 これは umask() 関数で変更できる umask で制限できます。

パラメータ

pathto

ファイルを展開する場所。

files

展開するエントリ。単一のエントリ名、 あるいはエントリ名の配列を指定します。

戻り値

成功した場合に 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 ファイルシステムには、ファイル名で使う場合にサポートしていない文字があります。具体的には、<|>*?": です。末尾にドットがあるファイル名もサポートしていません。いくつかの展開ツールと異なり、このメソッドはこれらの文字をアンダースコアで置き換えませんし、そのようなファイルを展開すると失敗します。

関連キーワード:  展開, アーカイブ, 内容, ZipArchive, エントリ, extractTo, string, pathto, files, 場所