需要注意的是,当临时文件超过内存限制并写入系统临时目录时,它将在创建它的脚本完成时被删除。至少我看到的是这样,并且想记录下来供其他人参考,因为这并不清楚。
(PHP 5 >= 5.1.2, PHP 7, PHP 8)
SplTempFileObject::__construct — 构造一个新的临时文件对象
maxMemory
临时文件使用的最大内存量(以字节为单位,默认为 2 MB)。如果临时文件大小超过此限制,它将被移动到系统临时目录中的文件。
如果 maxMemory
为负数,则只使用内存。如果 maxMemory
为零,则不使用内存。
如果发生错误,则抛出 RuntimeException。
示例 #1 SplTempFileObject() 示例
此示例在内存中写入一个临时文件,可以对其进行写入和读取。
<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo "Written " . $temp->ftell() . " bytes to temporary file.\n\n";
// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
echo $line;
}
?>
上面的示例将输出类似于以下内容
Written 47 bytes to temporary file. This is the first line And this is the second.
需要注意的是,当临时文件超过内存限制并写入系统临时目录时,它将在创建它的脚本完成时被删除。至少我看到的是这样,并且想记录下来供其他人参考,因为这并不清楚。