查看TAR 文档内容
如何查看已经存在的TAR文件的内部信息呢?Archive_Tar类有一个listContent()方法,该方法可以查看一个TAR包中的每个组件的详细信息。列表B显示了如何使用它:
列表 B
include ('Archive/Tar.php');// import class $obj = new Archive_Tar('dummy.tar'); // name of archive $files = $obj->listContent();// array of file information foreach ($files as $f) { foreach ($f as $k => $v) { echo "$k: $vn"; } echo "n"; } >
listContent()方法的输出是一个结构化数组,每个数组元素代表文档中的一个文件。典型的是,每个元素有相应文件的名字信息,它的许可模式,所有者和组用户的ID,状态,大小和上一次修改的时间。通过一个循环可以很容易的提取这些信息,然后再对格式稍作修改使它根据表达性,像上面的例子中提到的。下面是一个输入示例:
校验和:3872
文件名:mystuff/alcon.doc
模式:33206
用户ID:433
组ID:106
大小:41472
时间:1140358031
向已经存在的TAR 文档中添加文件
由于我们大家的健忘性,有时可能忘记某个文件,Archive_Tar 类通过add()方法提供了
向已经存在的文档中添加新文件的能力。为了演示,我们再回到上文的dummy.tar文档,试着给它添加一个新文件(列表C):
列表C
include ('Archive/Tar.php');// import class if (file_exists('dummy.tar')) { $obj = new Archive_Tar('dummy.tar'); // name of TAR file } else { die('File does not exist'); } $files = array('otherstuff/logo.gif', 'otherstuff/header.gif', 'morestuff/berlin-bear.psd'); // additional files if ($obj->add($files)) { echo 'Added successfully!'; } else { echo 'Error in file addition'; } >