# La classe PharData

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

## Introduction

La classe PharData fournit une interface de haut niveau pour accéder et créer des archives tar et zip non exécutables. Du fait que ces archives ne contiennent pas de conteneur et qu'elles ne puissent être exécutées par l'extension phar, il est possible de créer et de manipuler des fichiers zip et tar normaux en utilisant la classe PharData même si le paramètre `phar.readonly` du php.ini est à `1`.

## Synopsis de la classe

class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Constantes héritées */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Méthodes */
public function __construct(
string `$filename`,
int `$flags` = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
?string `$alias` = `null`,
int `$format` = 0
)
public function addEmptyDir(string `$directory`): void
public function addFile(string `$filename`, ?string `$localName` = `null`): void
public function addFromString(string `$localName`, string `$contents`): void
public function buildFromDirectory(string `$directory`, string `$pattern` = ""): array
public function buildFromIterator(Traversable `$iterator`, ?string `$baseDirectory` = `null`): array
public function compress(int `$compression`, ?string `$extension` = `null`): ?PharData
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 decompress(?string `$extension` = `null`): ?PharData
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 isWritable(): bool
public function offsetSet(string `$localName`, resource|string `$value`): void
public function offsetUnset(string `$localName`): void
public function setAlias(string `$alias`): bool
public function setDefaultStub(?string `$index` = `null`, ?string `$webIndex` = `null`): bool
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 __destruct()
/* Méthodes héritées */
public function RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator
public function RecursiveDirectoryIterator::getSubPath(): string
public function RecursiveDirectoryIterator::getSubPathname(): string
public function RecursiveDirectoryIterator::hasChildren(bool `$allowLinks` = `false`): bool
public function RecursiveDirectoryIterator::key(): string
public function RecursiveDirectoryIterator::next(): void
public function RecursiveDirectoryIterator::rewind(): void
public function FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator
public function FilesystemIterator::getFlags(): int
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::current(): mixed
public function DirectoryIterator::getBasename(string `$suffix` = ""): string
public function DirectoryIterator::getExtension(): string
public function DirectoryIterator::getFilename(): 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::__toString(): string
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::getExtension(): string
public function SplFileInfo::getFileInfo(?string `$class` = `null`): SplFileInfo
public function SplFileInfo::getFilename(): string
public function SplFileInfo::getGroup(): int|false
public function SplFileInfo::getInode(): int|false
public function SplFileInfo::getLinkTarget(): string|false
public function SplFileInfo::getMTime(): int|false
public function SplFileInfo::getOwner(): int|false
public function SplFileInfo::getPath(): string
public function SplFileInfo::getPathInfo(?string `$class` = `null`): ?SplFileInfo
public function SplFileInfo::getPathname(): string
public function SplFileInfo::getPerms(): int|false
public function SplFileInfo::getRealPath(): string|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
}

## Sommaire

- PharData::addEmptyDir — Ajoute un répertoire vide à l'archive tar/zip
- PharData::addFile — Ajoute un fichier du système de fichiers à l'archive tar/zip
- PharData::addFromString — Ajoute un fichier à partir d'une chaîne de caractères à l'archive tar/zip
- PharData::buildFromDirectory — Construit une archive tar/zip à partir des fichiers d'un répertoire
- PharData::buildFromIterator — Construit une archive tar ou zip à partir d'un itérateur
- PharData::compress — Compresse l'archive tar/zip complète en utilisant la compression Gzip ou Bzip2
- PharData::compressFiles — Compresse tous les fichiers de l'archive tar/zip courante
- PharData::__construct — Construit un objet d'archive tar ou zip non-exécutable
- PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exécutable
- PharData::convertToExecutable — Convertit une archive tar/zip non-exécutable en une archive phar exécutable
- PharData::copy — Copie un fichier interne à l'archive tar/zip vers un autre fichier au sein de la même archive
- PharData::decompress — Décompresse l'archive Phar entière
- PharData::decompressFiles — Décompresse tous les fichiers de l'archive zip courante
- PharData::delMetadata — Efface les méta-données globales d'une archive zip
- PharData::delete — Efface un fichier au sein de l'archive tar/zip
- PharData::__destruct — Détruit un objet non exécutable tar ou une archive zip
- PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
- PharData::isWritable — Vérifie si l'archive tar/zip peut être modifiée
- PharData::offsetSet — Remplit un fichier au sein de l'archive tar/zip avec le contenu d'un fichier externe ou d'une chaîne de caractères
- PharData::offsetUnset — Efface un fichier d'une archive tar/zip
- PharData::setAlias — Fonction inutile (Phar::setAlias n'est pas valide pour PharData)
- PharData::setDefaultStub — Fonction inutile (Phar::setDefaultStub n'est pas valide pour PharData)
- PharData::setMetadata — Fixe les méta-données de l'archive
- PharData::setSignatureAlgorithm — Assigne l'algorithme de signature d'un phar et l'applique
- PharData::setStub — Fonction inutile (Phar::setStub n'est pas valide pour PharData)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open