The PharData class

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

Introduction

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Class synopsis

classPharDataextendsRecursiveDirectoryIteratorimplementsCountable, ArrayAccess {
public__construct(
    string$filename,
    int$flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
    ?string$alias = null,
    int$format = 0
)
publicaddEmptyDir(string$directory): void
publicaddFile(string$filename, ?string$localName = null): void
publicaddFromString(string$localName, string$contents): void
publicbuildFromDirectory(string$directory, string$pattern = ""): array
publicbuildFromIterator(Traversable$iterator, ?string$baseDirectory = null): array
publiccompress(int$compression, ?string$extension = null): ?PharData
publiccompressFiles(int$compression): void
publicconvertToData(?int$format = null, ?int$compression = null, ?string$extension = null): ?PharData
publicconvertToExecutable(?int$format = null, ?int$compression = null, ?string$extension = null): ?Phar
publiccopy(string$from, string$to): bool
publicdecompress(?string$extension = null): ?PharData
publicdelMetadata(): bool
publicdelete(string$localName): bool
publicextractTo(string$directory, array|string|null$files = null, bool$overwrite = false): bool
publicisWritable(): bool
publicoffsetSet(string$localName, resource|string$value): void
publicoffsetUnset(string$localName): void
publicsetAlias(string$alias): bool
publicsetDefaultStub(?string$index = null, ?string$webIndex = null): bool
publicsetMetadata(mixed$metadata): void
publicsetSignatureAlgorithm(int$algo, ?string$privateKey = null): void
publicsetStub(string$stub, int$len = -1): bool
public__destruct()
publicSplFileInfo::openFile(string$mode = "r", bool$useIncludePath = false, ?resource$context = null): SplFileObject
publicSplFileInfo::setFileClass(string$class = SplFileObject::class): void
publicSplFileInfo::setInfoClass(string$class = SplFileInfo::class): void
}

Table of Contents

To Top