PEAR Archive_Tar类的中文文档[5]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 ccterran 的 blog

  如果文件/目录已经存在于压缩包,它将只被加在压缩包的末尾.已存在的压缩的文件和路径并没有任何更新.但是,当解压时,最后的文件将会替代第一个.结果是压缩尺寸的未优化.
  如果文件/目录不存在,该文件/目录就被忽略.但一个错误文本将会发送到pear错误里.
  如果文件/目录不可读,该文件/目录就被忽略.但一个错误文件将会发送到pear错误里.
  如果结果文件名/路径名(在添加/删除之后或者没有这些动作)字符串多于99个字符,该文件/目录将被忽略.但一个错误文本将会发送到pear错误里.
 参数 :
  $p_filelist : 一组文件名和目录名,或者以单个空格分割开的文件或目录名组成的字符串.
  $p_add_dir : 一个字符串,包含欲加到列表中每一个元素的已记录路路径中的一个路径.
  $p_remove_dir : 一个字符串,包含一个路径,如果关联的话,则从列表中每一个元素的已记录路径删除.
返回值 :
  成功返回true,错误返回false.
样例 1 :
  $tar_object = new archive_tar("tarname.tar");
  [...]
  
$v_list[0]="dev/file.txt";
  
$v_list[1]="dev/data/"; (末尾'/'为可选)
  
$v_list[2]="log/file.log";
  
$tar_object->addmodify($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");
  [...]
  
$v_list[0]="dev/file.txt";
  
$v_list[1]="dev/data/"; (末尾'/'为可选)
  
$v_list[2]="log/file.log";
  
$tar_object->addmodify($v_list, "install", "dev");
  
// 存储在压缩包中的文件形如 :
  //   install/file.txt
  //   install/data
  //   install/data/file1.txt
  //   install/data/... 所有data下的文件和子目录/
  //   install/log/file.log

如何工作 :
  如果压缩包不存在,则创建并加入文件.
  如果压缩包确实存在但未被压缩,则打开它,跳到组后512字节空区块(tar脚部),并在该点加入文件.
  如果压缩包确实存在且被压缩,将会创建一个临时拷贝文件.这个临时文件是以'gzip'方式一块接着一块直至最终空区块读取的结果.新的文件此时被加到压缩文件中.
  文件的添加是通过遍历文件/目录列表,然后加进每个文件,以一个递规的方式遍历目录.每一次一个路径都需要添加/删除,在在压缩包写入文件头部之前完成这项工作.
 

方法 : add($p_filelist)
描述 :
  该方法把$p_filelist里列出的文件/目录加入到已经存在的压缩包中去.如果压缩包尚未存在,则创建之.
  $p_filelist参数可以是一组字符串,每个字符串代表一个文件名或者目录名,如果需要,则要带上它们的路径.该参数也可以是以空格分割开的文件或目录名组成的字符串.
  参阅addmodify()方法查看细节和限制.
参数 :
  $p_filelist : 一组文件名和目录名,或者以单个空格分割开的文件或目录名组成的字符串.
返回值 :
  成功返回true,错误返回false.

本文关键:PEAR Archive_Tar类的中文文档
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top