函式名稱:SplFileInfo::openFile()
適用版本:PHP 5 >= 5.1.2, PHP 7
函式描述:SplFileInfo::openFile() 方法用於開啟一個 SplFileObject 物件來讀取或寫入檔案。
語法:SplFileObject SplFileInfo::openFile ([ string $open_mode = "r" [, bool $use_include_path = false [, resource $context = NULL ]]] )
引數:
open_mode(可選):開啟檔案的模式,預設為 "r",即只讀模式。可以是以下任意組合:
- "r":只讀模式
- "w":寫入模式(會將檔案截斷為零長度,如果檔案不存在則建立)
- "a":追加模式(如果檔案不存在則建立)
- "x":獨佔建立模式(如果檔案已存在,則返回 false)
- "c":寫入模式,如果檔案不存在則建立,否則保留檔案內容
- "e":讀取/寫入模式
- "b":二進位制模式
- "t":文字模式
- "g":獲取檔案鎖(獨佔鎖定)
- "n":非阻塞模式(如果檔案已被鎖定,則立即返回 false)
- "s":同步模式(防止資料丟失)
use_include_path(可選):是否在 include_path 中搜尋檔案,預設為 false。如果設定為 true,則會在 include_path 中搜尋檔案。
context(可選):可以透過此引數指定一個上下文資源,用於指定其他開啟選項。
返回值:返回一個 SplFileObject 物件,表示開啟的檔案。
示例:
// 示例1:以只讀模式開啟檔案
$file = new SplFileInfo("path/to/file.txt");
$fileObject = $file->openFile();
while (!$fileObject->eof()) {
echo $fileObject->fgets();
}
$fileObject = null; // 關閉檔案
// 示例2:以寫入模式開啟檔案,並寫入內容
$file = new SplFileInfo("path/to/file.txt");
$fileObject = $file->openFile("w");
$fileObject->fwrite("Hello, World!");
$fileObject = null; // 關閉檔案
以上示例中,示例1演示了以預設的只讀模式開啟檔案,並逐行讀取檔案內容。示例2演示了以寫入模式開啟檔案,並向檔案中寫入了一行文字。