Archive_Tar::extractList()
Synopsis
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
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
?>