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): true
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

  • Phar::addEmptyDir — Ajoute un rĂ©pertoire vide Ă  l'archive phar
  • Phar::addFile — Ajoute un fichier du systĂšme de fichiers Ă  l'archive phar
  • Phar::addFromString — Ajoute un fichier depuis une chaĂźne de caractĂšres Ă  l'archive phar
  • Phar::apiVersion — Retourne la version de l'API
  • Phar::buildFromDirectory — Construit une archive phar Ă  partir des fichiers d'un rĂ©pertoire
  • Phar::buildFromIterator — Construit une archive phar Ă  partir d'un itĂ©rateur
  • Phar::canCompress — DĂ©termine si l'extension phar supporte la compression en utilisant soit zlib soit bzip2
  • Phar::canWrite — DĂ©termine si l'extension phar supporte la crĂ©ation et l'Ă©criture des phars
  • Phar::compress — Compresse l'archive Phar complĂšte en utilisant la compression Gzip ou Bzip2
  • Phar::compressFiles — Compresse tous les fichiers de l'archive Phar courante
  • Phar::__construct — Construit un objet d'archive Phar
  • Phar::convertToData — Convertit une archive phar en un fichier non-exĂ©cutable
  • Phar::convertToExecutable — Convertit une archive phar vers un autre format de fichier d'archive phar exĂ©cutable
  • Phar::copy — Copie un fichier appartenant Ă  une archive vers un autre fichier de la mĂȘme archive
  • Phar::count — Retourne le nombre d'entrĂ©es (fichiers) dans l'archive Phar
  • Phar::createDefaultStub — CrĂ©e un conteneur de chargement d'une archive Phar
  • Phar::decompress — DĂ©compresse l'archive tar complĂšte
  • Phar::decompressFiles — DĂ©compresse tous les fichiers de l'archive Phar courante
  • Phar::delMetadata — Efface les mĂ©ta-donnĂ©es globales du phar
  • Phar::delete — Efface un fichier au sein d'une archive phar
  • Phar::__destruct — DĂ©truit un objet archive Phar
  • Phar::extractTo — Extrait le contenu d'une archive phar vers un rĂ©pertoire
  • Phar::getAlias — RĂ©cupĂšre l'alias pour Phar
  • Phar::getMetadata — Retourne les mĂ©ta-donnĂ©es de l'archive phar
  • Phar::getModified — Indique si le fichier phar a Ă©tĂ© modifiĂ©
  • Phar::getPath — RĂ©cupĂšre le chemin absolu de l'archive Phar sur le disque
  • Phar::getSignature — Retourne la signature MD5/SHA1/SHA256/SHA512 d'une archive Phar
  • Phar::getStub — Retourne le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::getSupportedCompression — Retourne un tableau des algorithmes de compression supportĂ©s
  • Phar::getSupportedSignatures — Retourne un tableau des types de signature supportĂ©s
  • Phar::getVersion — Retourne les informations de version de l'archive Phar
  • Phar::hasMetadata — DĂ©termine si le phar a ou non des mĂ©ta-donnĂ©es
  • Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers
  • Phar::isBuffering — DĂ©termine si les opĂ©rations d'Ă©criture du Phar sont mises en tampons ou sont directement inscrites sur le disque
  • Phar::isCompressed — Retourne Phar::GZ ou PHAR::BZ2 si l'archive entiĂšre est compressĂ©e (.tar.gz/tar.bz, etc)
  • Phar::isFileFormat — Retourne true si l'archive phar est basĂ©e sur le format de fichier tar/phar/zip selon le paramĂštre
  • Phar::isValidPharFilename — DĂ©termine si le nom de fichier spĂ©cifiĂ© est un nom de fichier valide pour une archive phar
  • Phar::isWritable — Retourne true si l'archive phar peut ĂȘtre modifiĂ©e
  • Phar::loadPhar — Charge n'importe quelle archive phar avec un alias
  • Phar::mapPhar — Lit le phar exĂ©cutĂ© et charge son manifeste
  • Phar::mount — Monte un chemin ou un fichier externe Ă  un emplacement virtuel au sein de l'archive phar
  • Phar::mungServer — DĂ©finit une liste de maximum 4 variables $_SERVER qui doivent ĂȘtre modifiĂ©es lors de l'exĂ©cution
  • Phar::offsetExists — DĂ©termine si un fichier existe dans le phar
  • Phar::offsetGet — Obtient un objet PharFileInfo Ă  partir d'un fichier
  • Phar::offsetSet — Met le contenu d'un fichier interne Ă  l'archive Ă  l'identique du contenu d'un fichier externe
  • Phar::offsetUnset — Efface un fichier d'un phar
  • Phar::running — Retourne le chemin complet sur le disque ou l'URL phar complĂšte de l'archive phar couramment exĂ©cutĂ©e
  • Phar::setAlias — Fixe l'alias de l'archive Phar
  • Phar::setDefaultStub — UtilisĂ© pour fixer le chargeur PHP ou le conteneur de chargement d'une archive Phar en tant que chargeur par dĂ©faut
  • Phar::setMetadata — Fixe les mĂ©tadonnĂ©es de l'archive phar
  • Phar::setSignatureAlgorithm — Fixe et applique l'algorithme de signature d'un phar
  • Phar::setStub — UtilisĂ© pour spĂ©cifier le chargeur PHP ou le conteneur de chargement d'une archive Phar
  • Phar::startBuffering — DĂ©marre la mise en tampon d'Ă©critures Phar, ne modifie pas l'objet Phar sur le disque
  • Phar::stopBuffering — ArrĂȘte la mise en tampon des Ă©critures Phar et provoque l'Ă©criture sur le disque
  • Phar::unlinkArchive — Efface complĂštement une archive phar du disque et de la mĂ©moire
  • Phar::webPhar — Redirige une requĂȘte depuis un navigateur web Ă  un fichier interne dans l'archive phar
add a note

User Contributed Notes

There are no user contributed notes for this page.