首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 讀取文件內容的五種常用方法對比

     編輯:PHP 相關知識

概覽

PHP 提供多種讀取文件的方式,適用場景各異。實際開發中務必記得 fclose() 釋放資源(或使用 file_get_contents() 等自動關閉的函數)。

1. fread() — 一次性讀取指定長度

$fp = fopen('test.txt', 'r');
$content = fread($fp, filesize('test.txt'));
fclose($fp);
echo str_replace("\r\n", '<br />', $content);

適用:中小文件,需控制讀取長度時。

2. file_get_contents() — 最簡潔,一次性讀入字串

$content = file_get_contents('test.txt');
echo str_replace("\r\n", '<br />', $content);

適用:中小文件,代碼最少,**推薦首選**。

3. fread() + 循環 — 分塊讀取大文件

$fp = fopen('test.txt', 'r');
$buffer = 1024;
$content = '';
while (!feof($fp)) {
    $content .= fread($fp, $buffer);
}
fclose($fp);
echo str_replace("\r\n", '<br />', $content);

適用:大文件,避免一次性載入佔盡內存。

4. file() — 直接讀入數組,每行一個元素

$lines = file('test.txt');
foreach ($lines as $line) {
    echo $line . '<br />';
}

適用:需逐行處理、統計行數的場景。

5. fgets() — 逐行讀取,適合大文件流式處理

$fp = fopen('test.txt', 'r');
$content = '';
while (!feof($fp)) {
    $content .= fgets($fp); // 預設 1024 字節
}
fclose($fp);
echo str_replace("\r\n", '<br />', $content);

適用:超大文件,逐行處理邏輯複雜時。

選型建議

場景推薦方法
中小文件、簡單讀取file_get_contents()
需控制讀取長度fread()
大文件、分塊處理fread() + 循環 或 fgets()
逐行邏輯、統計行數file() 或 fgets()

**注意**:所有打開句柄的方式(fopen)必須配對 fclose(),否則會洩漏文件描述符。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved