請注意,此類別有一個私有(因此未記錄)的屬性,用於保存檔案指標。再加上沒有關閉檔案控制代碼的方法,您會遇到無法使用 unlink() 等刪除檔案的情況,因為 SplFileObject 仍然有一個開啟的控制代碼。
要解決此問題,請像這樣刪除 SplFileObject
---------------------------------------------------------------------
<?php
print "宣告檔案物件\n";
$file = new SplFileObject('example.txt');
print "嘗試刪除檔案...\n";
unlink('example.txt');
print "關閉檔案物件\n";
$file = null;
print "刪除檔案...\n";
unlink('example.txt');
print '檔案已刪除!';
?>
---------------------------------------------------------------------
它會輸出
---------------------------------------------------------------------
宣告檔案物件
嘗試刪除檔案...
警告:unlink(example.txt):在 file.php 的第 6 行拒絕存取
關閉檔案物件
刪除檔案...
檔案已刪除!
---------------------------------------------------------------------