TAR File Management With PHP Archive_Tar - Zip Zap Zoom
(Page 3 of 8 )
It's important to note that the file created in the previous example is an uncompressed archive - the files contained within it are not compressed to save space. If you'd like to create a compressed archive, Archive_Tar supports that option too, allowing you to apply GZIP or BZIP compression to the TAR archive.
Compressing the archive is a piece of cake - simply add the value "gz" or "bz2" as a second argument to the Archive_Tar object constructor when instantiating it, as illustrated below:
<?php
// include class
require("Tar.php");
// create Archive_Tar() object
// specify filename for output file and compression method
$tar = new Archive_Tar("data.tar.gz", "gz");
// set up file list
$files = array("package.dtd", "package.xml", "filter.xsl",
"../../includes/php/adodb.php");
// build archive
$tar->create($files) or die("Could not create archive!");
?>
A quick check reveals that the archive file created in this example is much smaller than the one created in the previous example,
$ ls -l data.tar.gz
-rwxrw-rw- 1 nobody nobody 19951 Jul 8 2003 data.tar.gz
and a call to the "file" utility verifies that it is, indeed, a GZIP-compressed archive.
$ file data.tar.gz
data.tar.gz: gzip compressed data, deflated, last modified: Thu Jan 1 05:30:00 1970
Note that in order for this to work, your PHP build must include support for the zlib and bzip2 compression libraries. Unix users can enable this support by recompiling PHP with the "--with-zlib" and "--with-bz2" arguments to the PHP "configure" script, respectively. Windows users get a better deal: pre-compiled extensions for these libraries are included by default in the Windows PHP distribution, and they can be enabled simply by uncommenting the extensions in the "php.ini" configuration file.
Further instructions on how to perform these procedures are available in the PHP manual and documentation.
Next: Adding It All Up >>
More PHP Articles
More By The Disenchanted Developer, (c) Melonfire