dimsav / unix-zipper
A simple compression package for Unix operating systems. UnixZipper is ideal for creating backups of your projects in unix servers.
Installs: 18 210
Dependents: 3
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-11-29 03:52:53 UTC
README
A simple zip compression library for Unix operating systems. UnixZipper is ideal for creating backups of your projects in unix servers.
Features
- Easy to use
- Password protection
- 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:
- Add
"dimsav/unix-zipper": "1.*"
to your composer.json file - Run
composer update
Dependencies
The only requirements are:
- executing the code on a unix system
- composer for installing/autoloading