$tar_object =
new archive_tar("tarname.tar");
$tar_object->seterrorhandling(pear_error_print); //
可选的错误处理
$v_list[0]="file.txt";
$v_list[1]="data/";
(末尾'/'为可选)
$v_list[2]="file.log";
$tar_object->createmodify($v_list,
"install");
// 存储在压缩包中的文件形如 :
// install/file.txt
// install/data
// install/data/file1.txt
// install/data/... 所有data下的文件和子目录/
// install/file.log
样例 2 :
$tar_object =
new archive_tar("tarname.tar");
$tar_object->seterrorhandling(pear_error_print); //
可选的错误处理
$v_list[0]="dev/file.txt";
$v_list[1]="dev/data/";
(末尾'/'为可选)
$v_list[2]="log/file.log";
$tar_object->createmodify($v_list,
"install", "dev");
// 存储在压缩包中的文件形如 :
// install/file.txt
// install/data
// install/data/file1.txt
// install/data/... 所有data下的文件和子目录/
// install/log/file.log
如何工作 :
以可写的模式打开文件(如果已经存在,则擦除),调用_addlist()方法,在一个空压缩包加入文件,加入尾部(512字节的区块),关闭tar文件.
方法 : addmodify($p_filelist, $p_add_dir, $p_remove_dir="")
描述 :
该方法在已存在的压缩包的末尾加入$p_filelist所列的文件/目录.如果压缩包尚未存在,那么就被创建.
$p_filelist参数可以是一组字符串,每个字符串代表一个文件名或者目录名,如果需要,则要带上它们的路径.该参数也可以是以空格分割开的文件或目录名组成的字符串.
如果存在的话,在$p_remove_dir中声明的路径将从每个列出来的文件/目录已记录路径中删除.默认没有任何东西被删除(空路径"").
在$p_add_dir中声明的路径将会加在每一个列出来的文件/目录的已记录路径的开始.但是它也可设为空"".路径的添加将会在路径的删除之前(译注:即先去掉$p_remove_dir,再加上$p_add_dir).
这种路径的添加/删除能力使得用户可以在一个不同的路径中准备好解压用的压缩包,而不是源文件所在.