PharData 클래스

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


소개

PharData 클래스는 실행할 수 없는 tar 및 zip 아카이브에 액세스하고 생성하기 위한 상위 수준 인터페이스를 제공합니다. 이러한 아카이브는 스텁을 포함하지 않고 phar 확장으로 실행할 수 없기 때문에 phar.readonly php.ini 설정이 1인 경우에도 PharData 클래스를 사용하여 일반 zip 및 tar 파일을 만들고 조작할 수 있습니다.


클래스 개요

class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
  /* Inherited constants */
  const int FilesystemIterator::CURRENT_AS_PATHNAME = 32;
  const int FilesystemIterator::CURRENT_AS_FILEINFO = 0;
  const int FilesystemIterator::CURRENT_AS_SELF = 16;
  const int FilesystemIterator::CURRENT_MODE_MASK = 240;
  const int FilesystemIterator::KEY_AS_PATHNAME = 0;
  const int FilesystemIterator::KEY_AS_FILENAME = 256;
  const int FilesystemIterator::FOLLOW_SYMLINKS = 512;
  const int FilesystemIterator::KEY_MODE_MASK = 3840;
  const int FilesystemIterator::NEW_CURRENT_AND_KEY = 256;
  const int FilesystemIterator::SKIP_DOTS = 4096;
  const int FilesystemIterator::UNIX_PATHS = 8192;
  /* Methods */
  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|false
  public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array|false
  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 $to, string $from): bool
  public decompress(?string $extension = null): ?PharData
  public decompressFiles(): bool
  public delMetadata(): bool
  public delete(string $localName): bool
  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): bool
  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
}
                

목차