TAR/GZIP/BZIP2/ZIP ARCHIVE CLASSES Examples
 
 
Examples of Compression:
 
 
The following example creates a gzipped tar file:
 
// Assume the following script is executing in /var/www/htdocs/test
 
// Create a new gzip file test.tgz in htdocs/test
 
$test = new gzip_file("htdocs/test/test.tgz");
 
// Set basedir to "../..", which translates to /var/www
 
// Overwrite /var/www/htdocs/test/test.tgz if it already exists
 
// Set compression level to 1 (lowest)
 
$test->set_options(array('basedir' => "../..", 'overwrite' => 1, 'level' => 1));
 
// Add entire htdocs directory and all subdirectories
 
// Add all php files in htsdocs and its subdirectories
 
$test->add_files(array("htdocs", "htsdocs/*.php"));
 
// Exclude all jpg files in htdocs and its subdirectories
 
$test->exclude_files("htdocs/*.jpg");
 
// Create /var/www/htdocs/test/test.tgz
 
$test->create_archive();
 
// Check for errors (you can check for errors at any point)
 
if (count($test->errors) > 0)
 
    print ("Errors occurred."); // Process errors here
 
 
The following example creates a zip file:
 
// Create new zip file in the directory below the current one
 
$test = new zip_file("../example.zip");
 
// All files added will be relative to the directory in which the script is 
 
//    executing since no basedir is set.
 
// Create archive in memory
 
// Do not recurse through subdirectories
 
// Do not store file paths in archive
 
$test->set_options(array('inmemory' => 1, 'recurse' => 0, 'storepaths' => 0));
 
// Add lib/archive.php to archive
 
$test->add_files("src/archive.php");
 
// Add all jpegs and gifs in the images directory to archive
 
$test->add_files(array("images/*.jp*g", "images/*.gif"));
 
// Store all exe files in bin without compression
 
$test->store_files("bin/*.exe");
 
// Create archive in memory
 
$test->create_archive();
 
// Send archive to user for download
 
$test->download_file();
 
 
 
 
Examples of Decompression:
 
 
The following example extracts a bzipped tar file:
 
// Open test.tbz2
 
$test = new bzip_file("test.tbz2");
 
// Overwrite existing files
 
$test->set_options(array('overwrite' => 1));
 
// Extract contents of archive to disk
 
$test->extract_files();
 
 
The following example extracts a tar file:
 
// Open archives/test.tar
 
$test = new tar_file("archives/test.tar");
 
// Extract in memory
 
$test->set_options(array('inmemory' => 0));
 
// Extract archive to memory
 
$test->extract_files();
 
// Write out the name and size of each file extracted
 
foreach ($test->files as $file)
 
    print ("File " + $file['name'] + " is " + $file['stat'][7] + " bytes\n");
 
 
 |