Home arrow PHP arrow Page 3 - TAR File Management With PHP Archive_Tar

Zip Zap Zoom - PHP

Need to create or manipulate a TAR file through your Web browser? Take a look at the PEAR Archive_Tar class, which exposes a simple, yet extremely powerful, API to perform manipulation of TAR and TGZ archives through a PHP script. Possible applications include a TAR file viewer and a Web-based backup utility.

TABLE OF CONTENTS:
  1. TAR File Management With PHP Archive_Tar
  2. Back To Basics
  3. Zip Zap Zoom
  4. Adding It All Up
  5. Building An Index
  6. In And Out
  7. X-Ray Vision
  8. ... And Packing Up
By: The Disenchanted Developer, (c) Melonfire
Rating: starstarstarstarstar / 41
July 17, 2003

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

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.



 
 
>>> More PHP Articles          >>> More By The Disenchanted Developer, (c) Melonfire
 

blog comments powered by Disqus
   

PHP ARTICLES

- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...
- PHP: Building Concrete Validators
- Sanitizing Input with PHP
- Executing Shell Commands with PHP
- Handling File Data with PHP
- File Security and Resources with PHP
- ArrayObject PHP Class Examples
- ArrayObject PHP Class: An Introduction
- Getting File System Data with PHP
- PHP Tools for Working with the File and Oper...
- Working with the File and Operating System w...
- PHP Proxy Patterns: Completing a Blog


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 8 - Follow our Sitemap

Dev Shed Tutorial Topics: