Files
MYSOPHAL/vendor/wapmorgan/unified-archive/src/Formats/Archive7z.php
2025-11-11 14:49:30 +01:00

29 lines
827 B
PHP

<?php
namespace wapmorgan\UnifiedArchive\Formats;
use Symfony\Component\Process\Process;
class Archive7z extends \Archive7z\Archive7z
{
/**
* @throws \Archive7z\Exception
*/
public static function getBinaryVersion()
{
if (method_exists(__CLASS__, 'makeBinary7z'))
$binary = static::makeBinary7z();
else {
// some hack for gemorroj/archive7z 4.x version
$seven_zip = new self(null);
$binary = $seven_zip->getAutoCli();
unset($seven_zip);
}
$process = new Process([str_replace('\\', '/', $binary)]);
$result = $process->mustRun()->getOutput();
if (!preg_match('~7-Zip (\[[\d]+\] )?(?<version>\d+\.\d+)~i', $result, $version))
return false;
return $version['version'];
}
}