當前位置: 首頁> 最新文章列表> PHP讀取文件的兩種常用方法詳解:file_get_contents與fread實例解析

PHP讀取文件的兩種常用方法詳解:file_get_contents與fread實例解析

gitbox 2025-08-05

PHP讀取文件的常用方法概覽

在PHP開發中,讀取文件內容是一個非常常見的操作,無論是讀取本地文本文件,還是遠程資源。 PHP提供了多種讀取方式,其中最常用的是file_get_contentsfread 。本文將對這兩種方式進行詳細介紹,並提供實際代碼示例,幫助你快速掌握文件讀取的技巧。

使用file_get_contents 讀取文件

file_get_contents是一種簡單直接的文件讀取函數,適合用於讀取整個文件內容。它會將文件的所有內容一次性加載到內存中,並返回為字符串。

 $file_contents = file_get_contents('file.txt');
echo $file_contents;

上面代碼中, file_get_contents讀取了名為file.txt的文件,並將其內容輸出。

讀取遠程文件內容

除了本地文件, file_get_contents也可以用來讀取遠程文件。只需要傳入遠程文件的URL 即可。

 $file_contents = file_get_contents('http://www.example.com/file.txt');
echo $file_contents;

該示例中,讀取了一個託管在遠程服務器上的文本文件,並輸出其內容。

讀取二進製文件

file_get_contents也可用於讀取圖片等二進製文件內容。設置適當參數即可。

 $file_contents = file_get_contents('image.png', true);
echo $file_contents;

通過設置第二個參數,可以告訴函數以特定模式讀取文件,比如讀取二進制流。

使用fread 讀取文件

相較於file_get_contentsfread提供了更高的靈活性,尤其適合處理大型文件或需要分段讀取的情況。它是基於流的讀取方式。

 $file_handle = fopen('file.txt', 'r');
$file_size = filesize('file.txt');
$file_contents = fread($file_handle, $file_size);
fclose($file_handle);
echo $file_contents;

在該示例中,使用fopen打開文件, filesize獲取文件大小, fread讀取內容,最後關閉文件句柄。

逐行讀取文件內容

如果只需逐行處理文件內容, fgets是理想的選擇,可結合fread實現行讀取邏輯。

 $file_handle = fopen('file.txt', 'r');
while (!feof($file_handle)) {
    $line = fgets($file_handle);
    echo $line;
}
fclose($file_handle);

上述代碼通過循環逐行讀取文件內容,適合日誌文件或大型文本的行級處理。

總結

PHP提供了多種讀取文件的方法,其中file_get_contents更適合快速讀取完整文件內容,而fread則在處理大文件或需要按需讀取時表現更優。開發者應根據不同場景靈活選用合適的讀取方式,提高程序的性能與可維護性。