首頁  >  文章  >  後端開發  >  php怎麼知道一個文件中有幾行內容

php怎麼知道一個文件中有幾行內容

青灯夜游
青灯夜游原創
2021-08-11 19:54:243422瀏覽

在先前的文章《php怎麼知道指定目錄中有哪些檔案》中,我們使用PHP來取得指定目錄中檔案(不包含子目錄)名稱的方法。這次我們來聊聊計算一個文件中有多少行資料的方法,有需要的可以參考。

我們有一個名為「test.txt」的文字文件,裡面的內容為:

php怎麼知道一個文件中有幾行內容

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

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

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$i=0;
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    $i++;
}
echo "文件中共有 ".$i." 行数据";
fclose($handle);                                    //关闭文件
?>

輸出結果:

php怎麼知道一個文件中有幾行內容

  • #分析:

fgets()函數可以逐行讀取文件,一次能讀取一行資料。

php怎麼知道一個文件中有幾行內容

我們利用while循環和fgets()函數來讀取文件的全部數據,然後使用一個計數器

$i

來統計讀取整個文件,fgets( )函數一共操作了幾次即可。

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

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
$i = count($filearr);
echo "文件中共有 ".$i." 行数据";
?>

輸出結果:

php怎麼知道一個文件中有幾行內容

#分析:

##file()函數可以一次性讀取整個文件,而且會把整個文件讀入一個數組中,一行資料對應一個數組元素【詳情可閱讀文章:《php怎麼逐行將整個文件資料存入數組中》】。

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

可以看出有10個數組元素,這10個數組元素就對應檔案有10行資料。 此時使用count($filearr)來統計陣列的長度(陣列元素的數量),就可以取得檔案有幾行資料。

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →###PHP檔案基礎操作#############推薦:###《###PHP面試題大匯總(收藏)###》《###php影片教學# ##》###

以上是php怎麼知道一個文件中有幾行內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn