PHP 8.3.27 Released!

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 __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias = null)
public addEmptyDir(string $directory): void
public addFile(string $filename, ?string $localName = null): void
public addFromString(string $localName, string $contents): void
final public static apiVersion(): string
public buildFromDirectory(string $directory, string $pattern = ""): array
public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
final public static canCompress(int $compression = 0): bool
final public static canWrite(): bool
public compress(int $compression, ?string $extension = null): ?Phar
public compressFiles(int $compression): void
public convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public copy(string $from, string $to): true
public count(int $mode = COUNT_NORMAL): int
final public static createDefaultStub(?string $index = null, ?string $webIndex = null): string
public decompress(?string $extension = null): ?Phar
public delMetadata(): true
public delete(string $localName): true
public extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public getAlias(): ?string
public getMetadata(array $unserializeOptions = []): mixed
public getModified(): bool
public getPath(): string
public getStub(): string
final public static getSupportedCompression(): array
final public static getSupportedSignatures(): array
public getVersion(): string
public hasMetadata(): bool
final public static interceptFileFuncs(): void
public isBuffering(): bool
public isFileFormat(int $format): bool
final public static isValidPharFilename(string $filename, bool $executable = true): bool
public isWritable(): bool
final public static loadPhar(string $filename, ?string $alias = null): bool
final public static mapPhar(?string $alias = null, int $offset = 0): bool
final public static mount(string $pharPath, string $externalPath): void
final public static mungServer(array $variables): void
public offsetExists(string $localName): bool
public offsetGet(string $localName): SplFileInfo
public offsetSet(string $localName, resource|string $value): void
public offsetUnset(string $localName): void
final public static running(bool $returnPhar = true): string
public setAlias(string $alias): true
public setDefaultStub(?string $index = null, ?string $webIndex = null): true
public setMetadata(mixed $metadata): void
public setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public setStub(resource|string $stub, int $length = -1): bool
final public static unlinkArchive(string $filename): true
final public static webPhar(
    ?string $alias = null,
    ?string $index = null,
    ?string $fileNotFoundScript = null,
    array $mimeTypes = [],
    ?callable $rewrite = null
): void
public __destruct()
/* Méthodes héritées */
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
}

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