需要注意的是,當臨時檔案超過記憶體限制並寫入系統臨時目錄時,它會在最初建立它的腳本完成後被刪除。至少這是我看到的,並希望為其他人記錄下來,因為這一點並不清楚。
(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("這是第一行\n");
$temp->fwrite("這是第二行。\n");
echo "已寫入 " . $temp->ftell() . " 位元組到臨時檔案。\n\n";
// 倒回並讀取已寫入的內容
$temp->rewind();
foreach ($temp as $line) {
echo $line;
}
?>
以上範例將輸出類似以下的內容
Written 47 bytes to temporary file. This is the first line And this is the second.
需要注意的是,當臨時檔案超過記憶體限制並寫入系統臨時目錄時,它會在最初建立它的腳本完成後被刪除。至少這是我看到的,並希望為其他人記錄下來,因為這一點並不清楚。