Archive_Tar::extract() -- アーカイブを伸長する
説明
与えられたパスにアーカイブからのファイルを伸長します。
ファイルを伸長している間、ファイルがすでに存在する場合は、
最終更新日を確認することなく置換されます。
もしファイルがすでに存在しており書き込み保護されている場合、
伸長は中止されます。
もし同名のディレクトリがすでに存在する場合、伸長は中止されます。
しかし部分的に伸長された結果となった場合、伸長されたファイルを
手動で削除する必要があるかも知れません。
返り値
boolean - 成功時には TRUE 、
失敗時には FALSE を返します。
例外・エラー
表 44-1PEAR_Error の値
| エラーコード | エラーメッセージ | 理由 | 解決法 |
|---|
| NULL |
"
Unable to open in read mode archive
"
|
ファイルが他のアプリケーションによって排他的にロックされています。
|
当該ファイルを使用している他のアプリケーションを確認してください。
これは競合する Archive_Tar
でアーカイブを処理している場合は発生しません。
|
| NULL |
"
Unable to open in write mode archive
"
|
ファイルが他のアプリケーションによってロックされています。
|
当該ファイルを使用している他のアプリケーションを確認してください。
これは競合する Archive_Tar
でアーカイブを処理している場合に発生するかも知れません。
|
| NULL |
"
Invalid extract mode mode
"
|
実装エラーです。
|
発生しないはずですが、その場合はバグレポートをお願いします。
|
| NULL |
"
Directory name already exists as a file
"
|
そのファイルはアーカイブ中でディレクトリとしてマークされています。
|
壊れたアーカイブなのかも知れません
|
| NULL |
"
File name already exists as a directory
"
|
そのディレクトリはアーカイブ中でファイルとしてマークされています。
|
壊れたアーカイブなのかも知れません
|
| NULL |
"
File name already exists and
is write protected.
"
|
アーカイブは伸長先ディレクトリにすでに存在しているファイルを
含んでおり、上書きすることができません。
|
空のディレクトリにアーカイブを伸長してください。
|
| NULL |
"
Unable to create path for name
"
|
1 つもしくはそれ以上のネストした新規ディレクトリは
伸長先ディレクトリに生成できません。
|
伸長先ディレクトリと全てのネストしたディレクトリが
要求される権限を持っているか確認してください。
|
| NULL |
"
Unable to create directory name
"
|
ディレクトリを伸長先ディレクトリに生成することができませんでした。
|
伸長先ディレクトリに要求される権限を持っているか確認してください。
|
| NULL |
"
Error while opening name in write binary mode
"
|
ファイルを生成することができませんでした。
|
ファイルがロックされている可能性があります。
|
| NULL |
"
Extracted file filename does
not have the correct file size filesize
(size expected). Archive may be corrupted.
"
|
メッセージを参照してください。
|
メッセージを参照してください。
|
注意
この関数は、スタティックにコールする
ことはできません。
例
例 44-1圧縮されたアーカイブを伸長する
<?php
$tar = new Archive_Tar('archive.tar.gz', true);
$result = $tar->extract('/home/myFolder');
?>
|
|