A classe Phar

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

Introdução

A classe Phar fornece uma interface de alto nível para acessar e criar arquivos phar.

Resumo da classe

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

Registro de Alterações

Versão Descrição
8.4.0 Adicionado suporte para a extensão de timestamp Unix para arquivos baseados em Zip.
8.0.0 Metadados não são mais desserializados ao abrir o arquivo, esta atividade é adiada até que Phar::getMetadata() seja chamado.

Notas

Cuidado

Anteriormente ao PHP 8.0.0, os metadados eram desserializados na abertura do arquivo. Isso poderia levar a vulnerabilidades de segurança. Iniciando com o PHP 8.0.0, os metadados são desserializados somente ao chamar Phar::getMetadata(), que tem opções para restringir a desserialização por motivos de segurança.

Índice

adicionar nota

Notas de Usuários

Não há notas de usuários para esta página.
To Top