Archive_Tar::extractList()

Archive_Tar::extractList() – extract a list files

Synopsis

require_once 'Archive/Tar.php';

boolean extractList ( array $filelist , string $path = '' , string $remove_path = '' )

Description

This method extracts only the files from the archive that are indicated in the $filelist. These files are extracted in the current directory or in the directory indicated by the optional $path parameter.

Parameter

  • string $filelist - an array of filenames and directory names, or a single string with names separated by a single blank space.

  • string $path - the path of the directory where the files and/or directory need to by extracted.

  • string $remove_path - part of the memorized path that can be removed if present at the beginning of the files or directories path.

Return value

boolean - Returns TRUE on success, FALSE on failure.

Throws

Possible PEAR_Error values
Error code Error message Reason Solution
NULL " Unable to open in read mode archive " The file is exclusively locked by another application. Check for other applications working on the file. This can not be caused by a competive processing the archive with Archive_Tar
NULL " Unable to open in write mode archive " The file is locked by another application. Check for other applications working on the file. This maybe caused by a competive processing the archive with Archive_Tar
NULL " Invalid extractlist mode mode " Implementation error Should not occur, please set up a bug report.
NULL " Directory name already exists as a file " A file is marked up as directory in the archive. Maybe a corrupted archive.
NULL " File name already exists as a directory " A directoy is marked up as file in the archive. Maybe a corrupted archive.
NULL " File name already exists and is write protected. " The archive contains a file which already exists in the destination dir and can not be overwritten. Extract the archive to an empty directory.
NULL " Unable to create path for name " One or more new nested directories could not be created in the destination directory. Ensure the destination directory and all nested directories have the required permissions.
NULL " Unable to create directory name " A directory could not be created in the destination directory. Ensure the destination directory has the required permissions.
NULL " Error while opening name in write binary mode " The file could not be created. The file is maybe locked.
NULL " Extracted file filename does not have the correct file size filesize (size expected). Archive may be corrupted. " Read the message. Read the message.

Note

This function can not be called statically.

Example

Extract compressed archive

<?php
// tarname.tar with files :
//   dev/data/file.txt
//   dev/data/log.txt
//   readme.txt

$tar_object = new Archive_Tar("tarname.tar");
$tar_object->extractList("dev/data/file.txt readme.txt""install",
                         
"dev");

// Files will be extracted there :
//   install/data/file.txt
//   install/readme.txt
?>