# A classe PharData

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

## Introdução

A classe PharData fornece uma interface de alto nível para acessar e criar arquivos tar e zip não executáveis. Como esses arquivos não contêm um stub e não podem ser executados pela extensão phar, é possível criar e manipular arquivos zip e tar comuns usando a classe PharData, mesmo que a configuração `phar.readonly` do php.ini seja `1`.

## Resumo da classe

class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Constantes herdadas */
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étodos */
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étodos herdados */
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
}

## Índice

- PharData::addEmptyDir — Adiciona um diretório vazio ao arquivo tar/zip
- PharData::addFile — Adiciona um arquivo do sistema de arquivos ao arquivo tar/zip
- PharData::addFromString — Adiciona um arquivo de uma string ao arquivo tar/zip
- PharData::buildFromDirectory — Constrói um arquivo tar/zip a partir dos arquivos dentro de um diretório
- PharData::buildFromIterator — Constrói um arquivo tar ou zip a partir de um iterador
- PharData::compress — Compacta todo o arquivo tar/zip usando Gzip ou Bzip2
- PharData::compressFiles — Compacta todos os arquivos no arquivo tar/zip atual
- PharData::__construct — Constrói um objeto de arquivo tar ou zip não executável
- PharData::convertToData — Converte um arquivo phar em um arquivo tar ou zip não executável
- PharData::convertToExecutable — Converte um arquivo tar/zip não executável em um arquivo phar executável
- PharData::copy — Copia um arquivo interno do arquivo tar/zip para outro arquivo novo dentro do mesmo arquivo
- PharData::decompress — Descompacta todo o arquivo Phar
- PharData::decompressFiles — Descompacta todos os arquivos no arquivo zip atual
- PharData::delMetadata — Exclui os metadados globais de um arquivo zip
- PharData::delete — Exclui um arquivo dentro de um arquivo tar/zip
- PharData::__destruct — Destrói um objeto de arquivo tar ou zip não executável
- PharData::extractTo — Extrai o conteúdo de um arquivo tar/zip para um diretório
- PharData::isWritable — Informa se o arquivo tar/zip pode ser modificado
- PharData::offsetSet — Define o conteúdo de um arquivo dentro do tar/zip para o de um arquivo externo ou string
- PharData::offsetUnset — Remove um arquivo de um arquivo tar/zip
- PharData::setAlias — Função fictícia (Phar::setAlias ​​não é válido para PharData)
- PharData::setDefaultStub — Função fictícia (Phar::setDefaultStub não é válido para PharData)
- PharData::setMetadata — Define metadados do arquivo phar
- PharData::setSignatureAlgorithm — Define o algoritmo de assinatura para um phar e o aplica
- PharData::setStub — Função fictícia (Phar::setStub não é válido para PharData)

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