ZippyExt
ZippyExt (aka ZippyExtended) is the libruary extended over Zippy with providing the strategy and the adapter for using 7-Zip, including supporting passwords., (*1)
Installation
The only supported installation method is via Composer. Run the following command to require ZippyExt in your project:, (*2)
composer require victor78/zippy-ext
Adapters
ZippyExt currently supports the following drivers and file formats:, (*3)
- zip
- PHP zip extension
- GNU tar
- BSD tar
-
7zip, (*4)
Getting started
All the following code samples assume that ZippyExt is loaded and available as $zippy
. You need the following code (or variation of) to load ZippyExt:, (*5)
<?php
use Victor78\ZippyExt\Zippy;
// Require Composer's autoloader
require __DIR__ . '/vendor/autoload.php';
// Load Zippy
$zippy = Zippy::load();
List an archive's contents:
// Open an archive
$archive = $zippy->open('build.tar');
// Iterate through members
foreach ($archive as $member) {
echo "Archive contains $member" . PHP_EOL;
}
// Open an archive
$archive = $zippy->open('build.tar');
// Extract archive contents to `/tmp`
$archive->extract('/tmp');
Create a new archive
// Creates an archive.zip that contains a directory "folder" that contains
// files contained in "/path/to/directory" recursively
$archive = $zippy->create('archive.zip', array(
'folder' => '/path/to/directory'
), true);
Use 7zip
If you need to use 7zip archiving to create zip archive, you should use fourth parameter:, (*6)
// Creates an archive.zip by 7zip engine
$archive = $zippy->create('archive.zip', $files, true, '7zip');
And if you want to create the encrypted archive, you can use fifth parameter:, (*7)
// Creates an archive.zip with AES-256 encryption and your password
$archive = $zippy->create('archive.zip', $files, true, '7zip', 'some_your_password');
To extract 7zip with password:, (*8)
//open archive with your password
$archive = $zippy->open('archive.zip', '7zip', 'some_your_password');
$archiveZip->extract('folder_for_extracted');
Documentation
Documentation in English and in Russian here, in wiki., (*9)
License
This project is licensed under the MIT license., (*10)