close

有些套件可以直接把檔案全部讀取進來轉為array或object型態

但是當遇到大型檔案就會有效能問題

 

回到最原始的PHP原生方法一行一行讀取檔案

A: 使用fgets()函式來一行一行讀取檔案

 

$handle = fopen("inputfile.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // process the line read.
    }

    fclose($handle);
} else {
    // error opening the file.
} 

 

※ 20210827: 補充

fgets讀進來的一行資料會加上行尾的換行符號,在判斷上會有問題

解決方法:

把$line加上trim($line),除去前後空白內容。

--

參考自 https://stackoverflow.com/questions/13246597/how-to-read-a-large-file-line-by-line

--

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()