SplFileObject::__toString()是一個魔術方法,用於將SplFileObject物件轉換為字串。
用法:
public SplFileObject::__toString(): string
示例:
$file = new SplFileObject('data.txt', 'r');
echo $file; // 輸出檔案內容
// 或者使用在類中重寫 __toString() 方法
class MyFile extends SplFileObject
{
public function __toString()
{
$this->rewind(); // 將檔案指標移動到檔案開頭
$content = '';
while (!$this->eof()) {
$content .= $this->fgets(); // 逐行讀取檔案內容
}
return $content;
}
}
$file = new MyFile('data.txt', 'r');
echo $file; // 輸出檔案內容
注意:使用SplFileObject::__toString()方法將整個檔案讀入記憶體,對於大型檔案可能會導致記憶體不足的問題。因此,建議在處理大型檔案時使用逐行讀取的方式,或者使用其他適合的方法來處理檔案內容。