Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
php /
Composer /
Package /
Archiver /
Delete
Unzip
Name
Size
Permission
Date
Action
ArchivableFilesFilter.php
1.15
KB
-rw-r--r--
2023-03-21 10:50
ArchivableFilesFinder.php
3.03
KB
-rw-r--r--
2023-03-21 10:50
ArchiveManager.php
9.14
KB
-rw-r--r--
2023-03-21 10:50
ArchiverInterface.php
1.43
KB
-rw-r--r--
2023-03-21 10:50
BaseExcludeFilter.php
4.29
KB
-rw-r--r--
2023-03-21 10:50
ComposerExcludeFilter.php
890
B
-rw-r--r--
2023-03-21 10:50
GitExcludeFilter.php
1.69
KB
-rw-r--r--
2023-03-21 10:50
PharArchiver.php
3.09
KB
-rw-r--r--
2023-03-21 10:50
ZipArchiver.php
2.73
KB
-rw-r--r--
2023-03-21 10:50
Save
Rename
<?php declare(strict_types=1); /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Package\Archiver; /** * @author Till Klampaeckel <till@php.net> * @author Nils Adermann <naderman@naderman.de> * @author Matthieu Moquet <matthieu@moquet.net> */ class PharArchiver implements ArchiverInterface { /** @var array<string, int> */ protected static $formats = [ 'zip' => \Phar::ZIP, 'tar' => \Phar::TAR, 'tar.gz' => \Phar::TAR, 'tar.bz2' => \Phar::TAR, ]; /** @var array<string, int> */ protected static $compressFormats = [ 'tar.gz' => \Phar::GZ, 'tar.bz2' => \Phar::BZ2, ]; /** * @inheritDoc */ public function archive(string $sources, string $target, string $format, array $excludes = [], bool $ignoreFilters = false): string { $sources = realpath($sources); // Phar would otherwise load the file which we don't want if (file_exists($target)) { unlink($target); } try { $filename = substr($target, 0, strrpos($target, $format) - 1); // Check if compress format if (isset(static::$compressFormats[$format])) { // Current compress format supported base on tar $target = $filename . '.tar'; } $phar = new \PharData( $target, \FilesystemIterator::KEY_AS_PATHNAME | \FilesystemIterator::CURRENT_AS_FILEINFO, '', static::$formats[$format] ); $files = new ArchivableFilesFinder($sources, $excludes, $ignoreFilters); $filesOnly = new ArchivableFilesFilter($files); $phar->buildFromIterator($filesOnly, $sources); $filesOnly->addEmptyDir($phar, $sources); if (isset(static::$compressFormats[$format])) { // Check can be compressed? if (!$phar->canCompress(static::$compressFormats[$format])) { throw new \RuntimeException(sprintf('Can not compress to %s format', $format)); } // Delete old tar unlink($target); // Compress the new tar $phar->compress(static::$compressFormats[$format]); // Make the correct filename $target = $filename . '.' . $format; } return $target; } catch (\UnexpectedValueException $e) { $message = sprintf( "Could not create archive '%s' from '%s': %s", $target, $sources, $e->getMessage() ); throw new \RuntimeException($message, $e->getCode(), $e); } } /** * @inheritDoc */ public function supports(string $format, ?string $sourceType): bool { return isset(static::$formats[$format]); } }