PHP code example of gemorroj / archive7z
1. Go to this page and download the library: Download gemorroj/archive7z library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gemorroj / archive7z example snippets
use Archive7z\Archive7z;
class MyArchive7z extends Archive7z
{
protected $timeout = 120;
protected $compressionLevel = 6;
protected $overwriteMode = self::OVERWRITE_MODE_S;
protected $outputDirectory = '/path/to/custom/output/directory';
}
$obj = new MyArchive7z('path_to_7z_file.7z');
if (!$obj->isValid()) {
throw new \RuntimeException('Incorrect archive');
}
print_r($obj->getInfo());
/*
Archive7z\Info Object
(
[path:Archive7z\Info:private] => /full_path_to/test.7z
[type:Archive7z\Info:private] => 7z
[physicalSize:Archive7z\Info:private] => 165343
[headersSize:Archive7z\Info:private] => 241
[method:Archive7z\Info:private] => LZMA2:192k
[solid:Archive7z\Info:private] => +
[blocks:Archive7z\Info:private] => 1
[codePage:Archive7z\Info:private] =>
)
*/
// $obj->setPassword('123');
// $obj->getEntries('test', 100)
foreach ($obj->getEntries() as $entry) {
print_r($entry);
/*
Archive7z\Entry Object
(
[path:Archive7z\Entry:private] => 1.jpg
[size:Archive7z\Entry:private] => 91216
[packedSize:Archive7z\Entry:private] => 165344
[modified:Archive7z\Entry:private] => 2013-06-10 09:56:07
[created:Archive7z\Entry:private] =>
[attributes:Archive7z\Entry:private] => A
[crc:Archive7z\Entry:private] => 871345C2
[encrypted:Archive7z\Entry:private] => +
[method:Archive7z\Entry:private] => LZMA:192k 7zAES:19
[block:Archive7z\Entry:private] => 0
[comment:Archive7z\Entry:private] =>
[hostOs:Archive7z\Entry:private] =>
[characteristics:Archive7z\Entry:private] =>
[folder:Archive7z\Entry:private] =>
[archive:Archive7z\Entry:private] => MyArchive7z Object
(
[timeout:protected] => 60
[compressionLevel:protected] => 6
[overwriteMode:protected] => -aos
[outputDirectory:protected] => /path/to/custom/output/directory
[binary7z:Archive7z\Archive7z:private] => C:\Program Files\7-Zip\7z.exe
[filename:Archive7z\Archive7z:private] => s:\VCS\Git\Archive7z\tests/fixtures/testPasswd.7z
[password:Archive7z\Archive7z:private] => 123
[encryptFilenames:protected] =>
)
)
*/
if ($entry->getPath() === 'test/test.txt') {
$entry->extractTo('path_to_extract_folder/'); // extract the file
}
}
echo $obj->getContent('test/test.txt'); // show content of the file
$obj->setOutputDirectory('path_to_extract_folder/')->extract(); // extract the archive
$obj->setOutputDirectory('path_to_extract_pass_folder/')->setPassword('pass')->extractEntry('test/test.txt'); // extract the password-protected entry
$solidMode = new SolidMode();
$solidMode->setMode(SolidMode::OFF);
$obj->setSolidMode($solidMode);
$obj->addEntry(__DIR__); // add directory to the archive (