표준 PHP 라이브러리(SPL) The SplFileObject class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)


소개

SplFileObject 클래스는 파일에 대한 객체 지향 인터페이스를 제공합니다.


클래스 개요

                  
class SplFileObject extends SplFileInfo implements RecursiveIterator, SeekableIterator {

  /* Constants */
  const int DROP_NEW_LINE = 1;
  const int READ_AHEAD = 2;
  const int SKIP_EMPTY = 4;
  const int READ_CSV = 8;

  /* Methods */
  public __construct(
      string $filename,
      string $mode = "r",
      bool $useIncludePath = false,
      ?resource $context = null
  )
  public current(): string|array|false
  public eof(): bool
  public fflush(): bool
  public fgetc(): string|false
  public fgetcsv(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false
  public fgets(): string
  public fgetss(string $allowable_tags = ?): string
  public flock(int $operation, int &$wouldBlock = null): bool
  public fpassthru(): int
  public fputcsv(
      array $fields,
      string $separator = ",",
      string $enclosure = "\"",
      string $escape = "\\",
      string $eol = "\n"
  ): int|false
  public fread(int $length): string|false
  public fscanf(string $format, mixed &...$vars): array|int|null
  public fseek(int $offset, int $whence = SEEK_SET): int
  public fstat(): array
  public ftell(): int|false
  public ftruncate(int $size): bool
  public fwrite(string $data, int $length = 0): int|false
  public getChildren(): ?RecursiveIterator
  public getCsvControl(): array
  public getFlags(): int
  public getMaxLineLen(): int
  public hasChildren(): bool
  public key(): int
  public next(): void
  public rewind(): void
  public seek(int $line): void
  public setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void
  public setFlags(int $flags): void
  public setMaxLineLen(int $maxLength): void
  public valid(): bool

  /* Inherited methods */
  public SplFileInfo::getATime(): int|false
  public SplFileInfo::getBasename(string $suffix = ""): string
  public SplFileInfo::getCTime(): int|false
  public SplFileInfo::getExtension(): string
  public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
  public SplFileInfo::getFilename(): string
  public SplFileInfo::getGroup(): int|false
  public SplFileInfo::getInode(): int|false
  public SplFileInfo::getLinkTarget(): string|false
  public SplFileInfo::getMTime(): int|false
  public SplFileInfo::getOwner(): int|false
  public SplFileInfo::getPath(): string
  public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
  public SplFileInfo::getPathname(): string
  public SplFileInfo::getPerms(): int|false
  public SplFileInfo::getRealPath(): string|false
  public SplFileInfo::getSize(): int|false
  public SplFileInfo::getType(): string|false
  public SplFileInfo::isDir(): bool
  public SplFileInfo::isExecutable(): bool
  public SplFileInfo::isFile(): bool
  public SplFileInfo::isLink(): bool
  public SplFileInfo::isReadable(): bool
  public SplFileInfo::isWritable(): bool
  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
  public SplFileInfo::__toString(): string
}
                  
                

미리 정의된 상수

SplFileObject::DROP_NEW_LINE
줄 끝에 줄 바꿈을 삭제합니다.
SplFileObject::READ_AHEAD
되감기/다음에서 읽습니다.
SplFileObject::SKIP_EMPTY
파일의 빈 줄을 건너뜁니다. 예상대로 작동하려면 READ_AHEAD 플래그를 활성화해야 합니다.
SplFileObject::READ_CSV
행을 CSV 행으로 읽습니다.

목차