PHP Conference Nagoya 2025

Класс PharData

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

Введение

Класс PharData предоставляет высокоуровневый интерфейс доступа и создания неисполняемых tar- и zip-архивов. Поскольку архивы этих типов не содержат заглушку и не могут быть выполнены модулем Phar, есть возможность создавать и обрабатывать обычные zip- и tar-файлы, используя класс PharData, даже если параметр phar.readonly в php.ini равен 1.

Обзор класса

class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Наследуемые константы */
/* Методы */
public __construct(
    string $filename,
    int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
    ?string $alias = null,
    int $format = 0
)
public addEmptyDir(string $directory): void
public addFile(string $filename, ?string $localName = null): void
public addFromString(string $localName, string $contents): void
public buildFromDirectory(string $directory, string $pattern = ""): array
public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
public compress(int $compression, ?string $extension = null): ?PharData
public compressFiles(int $compression): void
public convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public copy(string $from, string $to): true
public decompress(?string $extension = null): ?PharData
public delMetadata(): true
public delete(string $localName): true
public extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public isWritable(): bool
public offsetSet(string $localName, resource|string $value): void
public offsetUnset(string $localName): void
public setAlias(string $alias): bool
public setDefaultStub(?string $index = null, ?string $webIndex = null): bool
public setMetadata(mixed $metadata): void
public setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public setStub(string $stub, int $len = -1): bool
public __destruct()
/* Наследуемые методы */
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
}

Содержание

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top