TAR File Management With PHP Archive_Tar - Building An Index (
Page 5 of 8 )
You can obtain a list of all the files in a TAR archive with the Archive_Tar
object's listContents() method, which returns an array of arrays containing
detailed information on the contents of the archive. Each element of the
returned array represents a file in the source archive, each element is itself
structured as an associative array of key-value pairs containing details on the
file name and path (key "filename"), size ("size"), owner and group ID ("uid"
and "gid"), permissions ("fileperms"), last modification time ("mtime") and
whether the entry is a file or directory ("type").
Consider the following example, which demonstrates by using
the
listContents() method to obtain a list of all the files within a TAR
file, together with their size and last modification times:
<?php
// include class
require("Tar.php");
// create tar file
$tar = new Archive_Tar("data.tar");
// read and print tar file contents
if (($arr = $tar->listContent()) != 0)
{
foreach ($arr as $a)
{
echo $a['filename'] . ", " . $a['size'] . " bytes, last modified
on " . date("Y-m-d", $a['mtime']) . "\r\n";
}
}
?>
Here's an example of the output:
scripts/pear.bat, 1570 bytes, last modified on 2002-04-09
scripts/pear.in, 6145 bytes, last modified on 2002-04-09 scripts/pearize.in,
4549 bytes, last modified on 2002-01-31 scripts/pearwin.php, 7507 bytes, last
modified on 2002-02-20 scripts/php-config.in, 511 bytes, last modified on
2001-08-13 scripts/phpextdist, 620 bytes, last modified on 2001-01-10
scripts/phpize.in, 727 bytes, last modified on 2002-04-17 scripts/phptar.in,
5322 bytes, last modified on 2001-09-28 scripts/test2.php, 487 bytes, last
modified on 2002-09-28