技术开发 频道

PHP和PEAR动态创建和编辑TAR文档

  查看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';   }   >

 

0
相关文章