这种格式的流行不仅由于在所有unix系统中都存在该格式的创建工具,还因为在实际应用中,它便于保存归档文件的目录结构、许可信息、用户和组信息等写字楼。
php中有大量的内建函数和可连接的扩展库,可用于几乎所有文件格式。特别是笔记本维修它可以通过pear的archive_tar类读取和创建tar文档。在本文中,我们将向你说明这个类的行为,并演示开发人员是如何利用它动态地创建,编辑和显示tar文档。
在这里我将假设你有一个工作数据库和安装了php,并且正确的安装了pear的archive_tar类。
注:你可以直接从网上安装pear 的archive_tar类包,或者从网上下载安装。
创建tar文档
让我们从一个简单的例子开始:动态创建包含几个文件的tar文档。使用下面的脚本:
列表 a
include (''archive/tar.php'');// import class
$obj = new archive_tar(''dummy.tar''); // name of archive
$files = array(''mystuff/ad.gif'',
''mystuff/alcon.doc'',
''mystuff/alcon.xls''); // files to store in archive
if ($obj->create($files)) {
echo ''created successfully!'';
} else {
echo ''error in file creation'';
}
>
这个脚本相当简单,但是还是值得具体看一下:
首先,创建archive_tar类的一个实例,初始化创建文档的路径和文件名。在本例中,文件名是dummy.tar,存于当前目录北京电磁炉。
其次,列出归档的所有文件,包括它们的磁盘地址,存于一个php数组中。脚本(更准确的说是运行脚本的用户)必须拥有访问这些磁盘地址的许可权,否则文档创建过程就会失败。
最后,creat()方法将所有的文件压缩到单个tar文档。这个方法接受输入的文件名数组,返回一个布尔值表明文档是否成功创建。记住脚本必须拥有将文件写入命名磁盘地址的许可权,否则,creat()方法就无法使用,文档创建就会失败华泰圣达菲。
应用上面例子中的脚本,修改$files数组的内容以反映你的本地系统配置,在命令行或者浏览器中试着执行它,如果一切正常的话,脚本将会查找并读取这些文件到一个命名为dummy.tar的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()方法提供了
向已经存在的文档中添加新文件的能力
