PharData::extractTo

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

PharData::extractTotar/zip アーカイブの内容をディレクトリに展開する

説明

PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite = FALSE ]] ) : bool

tar/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'nulltrue); // すべてのファイルを展開し、上書きします
} catch (Exception $e) {
    
// エラー処理
}
?>

参考

  • Phar::extractTo() - phar アーカイブの内容をディレクトリに展開する