PHP 8.5.0 Released!

The SplTempFileObject class

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

Introduction

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

Class synopsis

class SplTempFileObject extends SplFileObject {
/* Inherited constants */
/* Methods */
public __construct (int $maxMemory = 2 * 1024 * 1024)
/* Inherited methods */
public SplFileObject::fgetcsv (string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array |false
public SplFileObject::fgetss (string $allowable_tags = ?): string
public SplFileObject::flock (int $operation, int &$wouldBlock = null ): bool
public SplFileObject::fputcsv (
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int |false
public SplFileObject::fread (int $length): string |false
public SplFileObject::fscanf (string $format, mixed &...$vars): array |int |null
public SplFileObject::fseek (int $offset, int $whence = SEEK_SET ): int
public SplFileObject::fwrite (string $data, int $length = 0): int |false
public SplFileObject::seek (int $line): void
public SplFileObject::setCsvControl (string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void
public SplFileObject::setFlags (int $flags): void
public SplFileObject::setMaxLineLen (int $maxLength): void
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
}

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
2
Steve
2 years ago
Since a temporary file is not a real file, some inherited methods will not work. For example,
* SplFileInfo::isReadable() and SplFileInfo::isWritable() return false, not because it was unreadable or unwritable, but because the file does not exists.
* SplFileObject::flock() fails and returns false.
* SplFileInfo::getATime(), SplFileInfo::getCTime(), SplFileInfo::getMTime(), SplFileInfo::getOwner(), SplFileInfo::getGroup(), SplFileInfo::getInode(), SplFileInfo::getPerms(), and SplFileInfo::getSize() throw RuntimeException "stat failed for php://temp". However, SplFileObject::fstat() succeeds and returns atime = mtime = ctime = uid = gid = ino = 0 together with the correct size.
* SplFileInfo::getType throws RuntimeException "Lstat failed for php://temp".
* SplFileInfo::getLinkTarget throws RuntimeException "Unable to read link php://temp, error: No such file or directory".
+add a note

AltStyle によって変換されたページ (->オリジナル) /