php怎麼知道一個檔案中有幾行內容

bluetooth發表於2021-09-11
在之前的文章《》中,我們使用PHP獲取指定目錄中檔案(不包含子目錄)名稱的方法。這次我們來聊聊計算一個檔案中有多少行資料的方法,有需要的可以參考參考。

我們有一個名為“test.txt”的文字檔案,裡面的內容為:

1.png

我們可以看出該檔案有10行資料,那麼如何使用PHP程式來進行統計,計算出檔案中有幾行資料呢?

今天我們就來給大家介紹兩種方法,首先是第一種方法:

<?php
header("Content-Type: text/html;charset=utf-8");    //設定字元編碼
$i=0;
$handle = fopen('./test.txt', 'r');                 //開啟檔案
if (!$handle) {                                     //判斷檔案是否開啟成功
    echo '檔案開啟失敗!';
}
while (false !== ($char = fgets($handle,1024))) {        //迴圈讀取檔案內容
    $i++;
}
echo "檔案中共有 ".$i." 行資料";
fclose($handle);                                    //關閉檔案
?>

輸出結果:

2.png

分析:

  • fgets()函式可以逐行讀取檔案,一次能讀取一行資料。

  • 我們利用while迴圈和fgets()函式來讀取檔案的全部資料,然後使用一個計數器$i來統計讀取整個檔案,fgets()函式一共操作了幾次即可。

利用while迴圈和fgets()函式的方法有點複雜,還需要開啟和關閉檔案。下面我們介紹一種更簡單的方法:

<?php
header("Content-Type: text/html;charset=utf-8");    //設定字元編碼
$file = 'test.txt';
$filearr = file($file,FILE_IGNORE_NEW_LINES);
$i = count($filearr);
echo "檔案中共有 ".$i." 行資料";
?>

輸出結果:

3.png

分析:

file()函式可以一次性讀取整個檔案,且會把整個檔案讀入一個陣列中,一行資料對應一個陣列元素【詳情可閱讀文章:《》】。

我們使用var_dump()輸出上例的$filearr陣列,可得到:

4.png

可以看出有10個陣列元素,這10個陣列元素就對應檔案有10行資料。

此時使用count($filearr)來統計陣列的長度(陣列元素的個數),就可以獲取檔案有幾行資料。

好了就說到這裡了,有其他想知道的,可以點選這個哦。→ →

推薦:《》《》

以上就是php怎麼知道一個檔案中有幾行內容的詳細內容,更多請關注php中文網其它相關文章!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2827511/,如需轉載,請註明出處,否則將追究法律責任。

相關文章