當使用 URL 作為檔名,例如「http://...」或「php://stdin」,並且已開啟 fopen 封裝器,但卻收到「RuntimeException」錯誤時,請嘗試對 SplFileObject 實例使用「NoRewindIterator」類別。
<?php
$url = 'http://sample.com/data.csv';
$file = new NoRewindIterator( new SplFileObject( $url ) );
foreach ($file as $line_num => $line) {
echo "Line $line_num is $line";
}
?>
當開啟檔案時,會呼叫 rewind 方法,但這些 URL 迭代器無法 rewind,因此您會收到「Fatal error: Uncaught exception 'RuntimeException' with message 'Cannot rewind file ...'」錯誤訊息。