PHP 提供豐富的檔案處理函數,從底層的 fopen 到高階的 file_get_contents,各有適用場景。本文系統梳理常見讀取方法,助你選對工具。
適合逐行處理大型檔案,記憶體佔用低:
$handle = fopen("myfile", "r");
while (!feof($handle)) {
$line = fgets($handle);
echo $line;
}
fclose($handle);
關鍵函數說明:
"r" 唯讀,二進位跨平台用 "rb"適合中小型檔案,程式碼簡潔:
$lines = file("myfile", FILE_IGNORE_NEW_LINES);
foreach ($lines as $line) {
// 處理每一行
}
效能最佳,適合需整體處理內容(如正則搜尋、JSON 解析):
$content = file_get_contents("myfile");
// 或讀取遠端資源
$json = file_get_contents("https://api.example.com/data.json");
| 函數 | 用途 |
|---|---|
| fgetss | 讀取並移除 HTML/PHP 標籤 |
| fscanf | 格式化讀取(類 C 語言 scanf) |
| fread | 指定長度讀取(二進位檔案常用) |
| SplFileObject | 物件導向介面,支援迭代器、CSV 解析 |
fopen + fgetsfile()file_get_contents()SplFileObject 或 fgetcsvfread + "rb" 模式fopen 回傳值,失敗會回傳 falseclearstatcache() 避免檔案狀態快取誤判