The SplFileObject class

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

Introduction

The SplFileObject class offers an object-oriented interface for a file.

Class synopsis

classSplFileObjectextendsSplFileInfoimplementsRecursiveIterator, SeekableIterator {
publicconstintDROP_NEW_LINE;
publicconstintREAD_AHEAD;
publicconstintSKIP_EMPTY;
publicconstintREAD_CSV;
public__construct(
    string$filename,
    string$mode = "r",
    bool$useIncludePath = false,
    ?resource$context = null
)
publiceof(): bool
publicfflush(): bool
publicfgetc(): string|false
publicfgetcsv(string$separator = ",", string$enclosure = "\"", string$escape = "\\"): array|false
publicfgets(): string
publicfgetss(string$allowable_tags = ?): string
publicflock(int$operation, int&$wouldBlock = null): bool
publicfpassthru(): int
publicfputcsv(
    array$fields,
    string$separator = ",",
    string$enclosure = "\"",
    string$escape = "\\",
    string$eol = "\n"
): int|false
publicfread(int$length): string|false
publicfscanf(string$format, mixed&...$vars): array|int|null
publicfseek(int$offset, int$whence = SEEK_SET): int
publicfstat(): array
publicftell(): int|false
publicftruncate(int$size): bool
publicfwrite(string$data, int$length = 0): int|false
publicgetChildren(): null
publicgetFlags(): int
publickey(): int
publicnext(): void
publicrewind(): void
publicseek(int$line): void
publicsetCsvControl(string$separator = ",", string$enclosure = "\"", string$escape = "\\"): void
publicsetFlags(int$flags): void
publicsetMaxLineLen(int$maxLength): void
publicvalid(): bool
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
}

Predefined Constants

SplFileObject::DROP_NEW_LINE

Drop newlines at the end of a line.

SplFileObject::READ_AHEAD

Read on rewind/next.

SplFileObject::SKIP_EMPTY

Skips empty lines in the file. This requires the READ_AHEAD flag be enabled, to work as expected.

SplFileObject::READ_CSV

Read lines as CSV rows.

Table of Contents

To Top