victor78 / zippy-ext
The 7-Zip integration for the Zippy.
Installs: 25 119
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Type:zippy-extension
Requires
- php: >=7.0
- alchemy/zippy: ~0.4.9
- symfony/process: <4
This package is not auto-updated.
Last update: 2024-05-01 23:05:59 UTC
README
ZippyExt (aka ZippyExtended) is the libruary extended over Zippy with providing the strategy and the adapter for using 7-Zip, including supporting passwords.
Installation
The only supported installation method is via Composer. Run the following command to require ZippyExt in your project:
composer require victor78/zippy-ext
Adapters
ZippyExt currently supports the following drivers and file formats:
-
zip
- .zip
-
PHP zip extension
- .zip
-
GNU tar
- .tar
- .tar.gz
- .tar.bz2
-
BSD tar
- .tar
- .tar.gz
- .tar.bz2
-
7zip
- .zip
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:
<?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; }
Extract an archive to a specific directory:
// 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:
// 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:
// 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:
//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.
License
This project is licensed under the MIT license.