[ PHPXref.com ] [ Generated: Sun Jul 20 16:43:40 2008 ] [ Brim 1.1.4 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/ -> Tar.php (summary)

Creates a (compressed) Tar archive

Author: Vincent Blavet
Version: $Revision: 1.2 $
File Size: 1767 lines (61 kb)
Included or required: 1 time
Referenced: 0 times
Includes or requires: 0 files

Defines 40 functions

  Archive_Tar()
  _Archive_Tar()
  create()
  add()
  extract()
  listContent()
  createModify()
  addModify()
  addString()
  extractModify()
  extractInString()
  extractList()
  setAttribute()
  _error()
  _warning()
  _isArchive()
  _openWrite()
  _openRead()
  _openReadWrite()
  _close()
  _cleanFile()
  _writeBlock()
  _readBlock()
  _jumpBlock()
  _writeFooter()
  _addList()
  _addFile()
  _addString()
  _writeHeader()
  _writeHeaderBlock()
  _writeLongHeader()
  _readHeader()
  _readLongHeader()
  _extractInString()
  _extractList()
  _openAppend()
  _append()
  _dirCheck()
  _pathReduction()
  _translateWinPath()

Functions
Functions that are not part of a class:

Archive_Tar($p_tarname, $p_compress = null)   X-Ref
Archive_Tar Class constructor. This flavour of the constructor only
declare a new Archive_Tar object, identifying it by the name of the
tar file.
If the compress argument is set the tar will be read or created as a
gzip or bz2 compressed TAR file.

param: string  $p_tarname  The name of the tar archive to create
param: string  $p_compress can be null, 'gz' or 'bz2'. This

_Archive_Tar()   X-Ref
No description

create($p_filelist)   X-Ref
This method creates the archive file and add the files / directories
that are listed in $p_filelist.
If a file with the same name exist and is writable, it is replaced
by the new tar.
The method return false and a PEAR error text.
The $p_filelist parameter can be an array of string, each string
representing a filename or a directory name with their path if
needed. It can also be a single string with names separated by a
single blank.
For each directory added in the archive, the files and
sub-directories are also added.
See also createModify() method for more details.

param: array  $p_filelist An array of filenames and directory names, or a
return: true on success, false on error.

add($p_filelist)   X-Ref
This method add the files / directories that are listed in $p_filelist in
the archive. If the archive does not exist it is created.
The method return false and a PEAR error text.
The files and directories listed are only added at the end of the archive,
even if a file with the same name is already archived.
See also createModify() method for more details.

param: array  $p_filelist An array of filenames and directory names, or a
return: true on success, false on error.

extract($p_path='')   X-Ref
No description

listContent()   X-Ref
No description

createModify($p_filelist, $p_add_dir, $p_remove_dir='')   X-Ref
This method creates the archive file and add the files / directories
that are listed in $p_filelist.
If the file already exists and is writable, it is replaced by the
new tar. It is a create and not an add. If the file exists and is
read-only or is a directory it is not replaced. The method return
false and a PEAR error text.
The $p_filelist parameter can be an array of string, each string
representing a filename or a directory name with their path if
needed. It can also be a single string with names separated by a
single blank.
The path indicated in $p_remove_dir will be removed from the
memorized path of each file / directory listed when this path
exists. By default nothing is removed (empty path '')
The path indicated in $p_add_dir will be added at the beginning of
the memorized path of each file / directory listed. However it can
be set to empty ''. The adding of a path is done after the removing
of path.
The path add/remove ability enables the user to prepare an archive
for extraction in a different path than the origin files are.
See also addModify() method for file adding properties.

param: array  $p_filelist     An array of filenames and directory names,
param: string $p_add_dir      A string which contains a path to be added
param: string $p_remove_dir   A string which contains a path to be
return: boolean               true on success, false on error.

addModify($p_filelist, $p_add_dir, $p_remove_dir='')   X-Ref
This method add the files / directories listed in $p_filelist at the
end of the existing archive. If the archive does not yet exists it
is created.
The $p_filelist parameter can be an array of string, each string
representing a filename or a directory name with their path if
needed. It can also be a single string with names separated by a
single blank.
The path indicated in $p_remove_dir will be removed from the
memorized path of each file / directory listed when this path
exists. By default nothing is removed (empty path '')
The path indicated in $p_add_dir will be added at the beginning of
the memorized path of each file / directory listed. However it can
be set to empty ''. The adding of a path is done after the removing
of path.
The path add/remove ability enables the user to prepare an archive
for extraction in a different path than the origin files are.
If a file/dir is already in the archive it will only be added at the
end of the archive. There is no update of the existing archived
file/dir. However while extracting the archive, the last file will
replace the first one. This results in a none optimization of the
archive size.
If a file/dir does not exist the file/dir is ignored. However an
error text is send to PEAR error.
If a file/dir is not readable the file/dir is ignored. However an
error text is send to PEAR error.

param: array      $p_filelist     An array of filenames and directory
param: string     $p_add_dir      A string which contains a path to be
param: string     $p_remove_dir   A string which contains a path to be
return: true on success, false on error.

addString($p_filename, $p_string)   X-Ref
This method add a single string as a file at the
end of the existing archive. If the archive does not yet exists it
is created.

param: string     $p_filename     A string which contains the full
param: string     $p_string       The content of the file added in
return: true on success, false on error.

extractModify($p_path, $p_remove_path)   X-Ref
This method extract all the content of the archive in the directory
indicated by $p_path. When relevant the memorized path of the
files/dir can be modified by removing the $p_remove_path path at the
beginning of the file/dir path.
While extracting a file, if the directory path does not exists it is
created.
While extracting a file, if the file already exists it is replaced
without looking for last modification date.
While extracting a file, if the file already exists and is write
protected, the extraction is aborted.
While extracting a file, if a directory with the same name already
exists, the extraction is aborted.
While extracting a directory, if a file with the same name already
exists, the extraction is aborted.
While extracting a file/directory if the destination directory exist
and is write protected, or does not exist but can not be created,
the extraction is aborted.
If after extraction an extracted file does not show the correct
stored file size, the extraction is aborted.
When the extraction is aborted, a PEAR error text is set and false
is returned. However the result can be a partial extraction that may
need to be manually cleaned.

param: string $p_path         The path of the directory where the
param: string $p_remove_path  Part of the memorized path that can be
return: boolean               true on success, false on error.

extractInString($p_filename)   X-Ref
This method extract from the archive one file identified by $p_filename.
The return value is a string with the file content, or NULL on error.

param: string $p_filename     The path of the file to extract in a string.
return: a string with the file content or NULL.

extractList($p_filelist, $p_path='', $p_remove_path='')   X-Ref
This method extract from the archive only the files indicated in the
$p_filelist. These files are extracted in the current directory or
in the directory indicated by the optional $p_path parameter.
If indicated the $p_remove_path can be used in the same way as it is
used in extractModify() method.

param: array  $p_filelist     An array of filenames and directory names,
param: string $p_path         The path of the directory where the
param: string $p_remove_path  Part of the memorized path that can be
return: true on success, false on error.

setAttribute()   X-Ref
This method set specific attributes of the archive. It uses a variable
list of parameters, in the format attribute code + attribute values :
$arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');

param: mixed $argv            variable list of attributes and values
return: true on success, false on error.

_error($p_message)   X-Ref
No description

_warning($p_message)   X-Ref
No description

_isArchive($p_filename=NULL)   X-Ref
No description

_openWrite()   X-Ref
No description

_openRead()   X-Ref
No description

_openReadWrite()   X-Ref
No description

_close()   X-Ref
No description

_cleanFile()   X-Ref
No description

_writeBlock($p_binary_data, $p_len=null)   X-Ref
No description

_readBlock()   X-Ref
No description

_jumpBlock($p_len=null)   X-Ref
No description

_writeFooter()   X-Ref
No description

_addList($p_list, $p_add_dir, $p_remove_dir)   X-Ref
No description

_addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir)   X-Ref
No description

_addString($p_filename, $p_string)   X-Ref
No description

_writeHeader($p_filename, $p_stored_filename)   X-Ref
No description

_writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0, $p_type='', $p_uid=0, $p_gid=0)   X-Ref
No description

_writeLongHeader($p_filename)   X-Ref
No description

_readHeader($v_binary_data, &$v_header)   X-Ref
No description

_readLongHeader(&$v_header)   X-Ref
No description

_extractInString($p_filename)   X-Ref
This method extract from the archive one file identified by $p_filename.
The return value is a string with the file content, or NULL on error.

param: string $p_filename     The path of the file to extract in a string.
return: a string with the file content or NULL.

_extractList($p_path, &$p_list_detail, $p_mode, $p_file_list, $p_remove_path)   X-Ref
No description

_openAppend()   X-Ref
No description

_append($p_filelist, $p_add_dir='', $p_remove_dir='')   X-Ref
No description

_dirCheck($p_dir)   X-Ref
Check if a directory exists and create it (including parent
dirs) if not.

param: string $p_dir directory to check
return: bool TRUE if the directory exists or was created

_pathReduction($p_dir)   X-Ref
Compress path by changing for example "/dir/foo/../bar" to "/dir/bar",
rand emove double slashes.

param: string $p_dir path to reduce
return: string reduced path

_translateWinPath($p_path, $p_remove_disk_letter=true)   X-Ref
No description



[ Powered by PHPXref - Served by Debian GNU/Linux ]