Archive_Tar::listContent()
Archive_Tar::listContent() – アーカイブにあるファイルとディレクトリをリストする
Synopsis
require_once 'Archive/Tar.php';
array listContent (
)
Description
アーカイブのファイルとディレクトリをリストします。
Return value
array
-
それぞれの配列エントリは、ファイルもしくはフォルダを表します。
配列はソートされませんので、
インデックスはアーカイブにあるファイルやディレクトリの位置を表します。
それぞれのエントリは以下の情報を含みます:
-
$file['filename']
-
ファイルやディレクトリの名前とパス
-
$file['mode']
-
ファイルの権限 (fileperms() の結果)
-
$file['uid']
-
ユーザー ID
-
$file['gid']
-
グループ ID
-
$file['size']
-
ファイルサイズ
-
$file['mtime']
-
最終更新時刻 (filemtime() の結果)
-
$file['typeflag']
-
空はファイル、"5" はディレクトリを表す
Throws
Possible PEAR_Error values
エラーコード |
エラーメッセージ |
理由 |
解決法 |
NULL |
"
Unable to open in read mode archive
"
|
ファイルが他のアプリケーションによって排他的にロックされています。
|
当該ファイルを使用している他のアプリケーションを確認してください。
これは競合する Archive_Tar
でアーカイブを処理している場合は発生しません。
|
NULL |
"
Invalid listcontent 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.
"
|
メッセージを参照してください。
|
メッセージを参照してください。
|
Note
This function can not be called
statically.
Example
<?php
$tar_object = new Archive_Tar("tarname.tar");
if (($v_list = $tar_object->listContent()) != 0) {
for ($i=0; $i<sizeof($v_list); $i++) {
echo "Filename :'".$v_list[$i]['filename']."'<br>";
echo " .size :'".$v_list[$i]['size']."'<br>";
echo " .mtime :'".$v_list[$i]['mtime']."' (".
date("l dS of F Y h:i:s A", $v_list[$i]['mtime']).")<br>";
echo " .mode :'".$v_list[$i]['mode']."'<br>";
echo " .uid :'".$v_list[$i]['uid']."'<br>";
echo " .gid :'".$v_list[$i]['gid']."'<br>";
echo " .typeflag :'".$v_list[$i]['typeflag']."'<br>";
}
}
?>