(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::extractTo — tar/zip アーカイブの内容をディレクトリに展開する
$pathto
[, string|array $files
[, bool $overwrite
= FALSE
]] ) : booltar/zip アーカイブ内のすべてのファイルをディスクに展開します。 展開されたファイルやディレクトリは、アーカイブに保存されたときのパーミッションを維持しています。 オプションのパラメータを使用すると、どのファイルを展開するかを制御したり 既存のファイルを上書きするかどうかを指定したりすることができます。 2 番目のパラメータ files には、 展開したいファイルやディレクトリの名前、あるいはその配列を指定します。 デフォルトでは、このメソッドは既存のファイルを上書きしません。 3 番目のパラメータを true にすると既存のファイルを上書きさせることができます。 このメソッドは ZipArchive::extractTo() と同じようなものです。
pathto
指定した files の展開先のパス。
files
展開したいファイル名/ディレクトリ名、あるいはその配列。
overwrite
TRUE
にすると既存のファイルを上書きします。
成功した場合に TRUE
を返します。
しかし、例外がスローされているかどうかを確認したうえで
例外がなければ成功とみなすほうがいいでしょう。
変更内容をディスクに書き込む際にエラーが発生した場合は PharException をスローします。
例1 PharData::extractTo() の例
<?php
try {
$phar = new PharData('myphar.tar');
$phar->extractTo('/full/path'); // すべてのファイルを展開します
$phar->extractTo('/another/path', 'file.txt'); // file.txt のみを展開します
$phar->extractTo('/this/path',
array('file1.txt', 'file2.txt')); // 2 つのファイルだけを展開します
$phar->extractTo('/third/path', null, true); // すべてのファイルを展開し、上書きします
} catch (Exception $e) {
// エラー処理
}
?>