La classe Phar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Introduction

La classe Phar fournit une interface de haut niveau pour accéder et créer des archives phar.

Synopsis de la classe

class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Constantes héritées */
/* Constantes */
const int BZ2;
const int GZ;
const int NONE;
const int PHAR;
const int TAR;
const int ZIP;
const int PHP;
const int PHPS;
const int MD5;
const int OPENSSL;
const int SHA1;
const int SHA256;
const int SHA512;
/* Méthodes */
public function __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias = null)
public function addEmptyDir(string $directory): void
public function addFile(string $filename, ?string $localName = null): void
public function addFromString(string $localName, string $contents): void
final public static function apiVersion(): string
public function buildFromDirectory(string $directory, string $pattern = ""): array
public function buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
final public static function canCompress(int $compression = 0): bool
final public static function canWrite(): bool
public function compress(int $compression, ?string $extension = null): ?Phar
public function compressFiles(int $compression): void
public function convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public function convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public function copy(string $from, string $to): true
public function count(int $mode = COUNT_NORMAL): int
final public static function createDefaultStub(?string $index = null, ?string $webIndex = null): string
public function decompress(?string $extension = null): ?Phar
public function decompressFiles(): true
public function delMetadata(): true
public function delete(string $localName): true
public function extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public function getAlias(): ?string
public function getMetadata(array $unserializeOptions = []): mixed
public function getModified(): bool
public function getPath(): string
public function getSignature(): array|false
public function getStub(): string
final public static function getSupportedCompression(): array
final public static function getSupportedSignatures(): array
public function getVersion(): string
public function hasMetadata(): bool
final public static function interceptFileFuncs(): void
public function isBuffering(): bool
public function isCompressed(): int|false
public function isFileFormat(int $format): bool
final public static function isValidPharFilename(string $filename, bool $executable = true): bool
public function isWritable(): bool
final public static function loadPhar(string $filename, ?string $alias = null): bool
final public static function mapPhar(?string $alias = null, int $offset = 0): bool
final public static function mount(string $pharPath, string $externalPath): void
final public static function mungServer(array $variables): void
public function offsetExists(string $localName): bool
public function offsetGet(string $localName): SplFileInfo
public function offsetSet(string $localName, resource|string $value): void
public function offsetUnset(string $localName): void
final public static function running(bool $returnPhar = true): string
public function setAlias(string $alias): true
public function setDefaultStub(?string $index = null, ?string $webIndex = null): true
public function setMetadata(mixed $metadata): void
public function setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public function setStub(resource|string $stub, int $length = -1): bool
public function startBuffering(): void
public function stopBuffering(): void
final public static function unlinkArchive(string $filename): true
final public static function webPhar(
    ?string $alias = null,
    ?string $index = null,
    ?string $fileNotFoundScript = null,
    array $mimeTypes = [],
    ?callable $rewrite = null
): void
public function __destruct()
/* Méthodes héritées */
public function RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool
public function FilesystemIterator::key(): string
public function FilesystemIterator::next(): void
public function FilesystemIterator::rewind(): void
public function FilesystemIterator::setFlags(int $flags): void
public function DirectoryIterator::getBasename(string $suffix = ""): string
public function DirectoryIterator::isDot(): bool
public function DirectoryIterator::key(): mixed
public function DirectoryIterator::next(): void
public function DirectoryIterator::rewind(): void
public function DirectoryIterator::seek(int $offset): void
public function DirectoryIterator::valid(): bool
public function SplFileInfo::getATime(): int|false
public function SplFileInfo::getBasename(string $suffix = ""): string
public function SplFileInfo::getCTime(): int|false
public function SplFileInfo::getFilename(): string
public function SplFileInfo::getGroup(): int|false
public function SplFileInfo::getInode(): int|false
public function SplFileInfo::getMTime(): int|false
public function SplFileInfo::getOwner(): int|false
public function SplFileInfo::getPath(): string
public function SplFileInfo::getPathname(): string
public function SplFileInfo::getPerms(): int|false
public function SplFileInfo::getSize(): int|false
public function SplFileInfo::getType(): string|false
public function SplFileInfo::isDir(): bool
public function SplFileInfo::isExecutable(): bool
public function SplFileInfo::isFile(): bool
public function SplFileInfo::isLink(): bool
public function SplFileInfo::isReadable(): bool
public function SplFileInfo::isWritable(): bool
public function SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public function SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public function SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public function SplFileInfo::__toString(): string
}

Historique

Version Description
8.4.0 Ajout de la prise en charge de l'extension de timestamp Unix pour les archives basées sur Zip.
8.0.0 Les métadonnées ne sont plus désérialisées lors de l’ouverture de l’archive, mais leur désérialisation est différée jusqu’à l’appel de Phar::getMetadata().

Notes

Attention

Antérieur à PHP 8.0.0, les métadonnées étaient désérialisées lors de l’ouverture de l’archive, ce qui pouvait entraîner des failles de sécurité. À partir de PHP 8.0.0, les métadonnées ne sont désérialisées que lors de l’appel à Phar::getMetadata(), lequel offre des options permettant de restreindre la désérialisation pour des raisons de sécurité.

Sommaire

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top