Skip to content

dimsav/unix-zipper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnixZipper

Latest Stable Version Build Status

A simple zip compression library for Unix operating systems. UnixZipper is ideal for creating backups of your projects in unix servers.

Features

  1. Easy to use
  2. Password protection
  3. Tested for stability

How does it work

Here is a simple example. Feel free to check the tests to see the class in action.

// Instantiate the class
$zipper = new UnixZipper();

// Add absolute paths of directories or files for compression
$zipper->add('/absolute/path/to/some/directory');
$zipper->add('/absolute/path/to/file.txt');

// Exclude directories and files
$zipper->exclude('/absolute/path/to/some/directory');
$zipper->exclude('/absolute/path/to/some/file.txt');

// Add a password if you wish
$zipper->setPassword('my_password');

// The path of the file that will be generated
// If the given path doesn't exist, it will be created automatically.
$zipper->setDestination('/file/after/compression/test.zip');

// Do the magic
$zipper->compress();

Since version 1.2, you can set a base path, and provide the files to be compressed relatively.

$zipper = new UnixZipper();

// Set base path
$zipper->setAbsolutePathAsBase('/absolute/projects');

// Add relative paths of directories or files for compression
$zipper->add('project-1');     // /absolute/projects/project-1
$zipper->add('logs/file.txt'); // /absolute/projects/logs/file.txt

$zipper->setDestination('/file/after/compression/test.zip');

// Compress
$zipper->compress();

Why unix

The reason I chose to make this package unix-only is because I wanted to rely on the system's zip function, that offers stability and flexibility. It also offers the possibility to exclude directories recursively, a feature I couldn't find in other php classes.

Installation

Install using composer:

  1. Add "dimsav/unix-zipper": "1.*" to your composer.json file
  2. Run composer update

Dependencies

The only requirements are:

  • executing the code on a unix system
  • composer for installing/autoloading

About

A simple zip compression library for Unix operating systems. UnixZipper is ideal for creating backups of your projects in unix servers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages