在先前的文章《php怎麼知道指定目錄中有哪些檔案》中,我們使用PHP來取得指定目錄中檔案(不包含子目錄)名稱的方法。這次我們來聊聊計算一個文件中有多少行資料的方法,有需要的可以參考。
我們有一個名為「test.txt」的文字文件,裡面的內容為:
我們可以看出該文件有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); //关闭文件 ?>
輸出結果:
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." 行数据"; ?>輸出結果: #分析:
##file()函數可以一次性讀取整個文件,而且會把整個文件讀入一個數組中,一行資料對應一個數組元素【詳情可閱讀文章:《php怎麼逐行將整個文件資料存入數組中
》】。
我們使用var_dump()輸出上例的$filearr數組,可得到:
可以看出有10個數組元素,這10個數組元素就對應檔案有10行資料。 此時使用count($filearr)來統計陣列的長度(陣列元素的數量),就可以取得檔案有幾行資料。
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →###PHP檔案基礎操作#############推薦:###《###PHP面試題大匯總(收藏)###》《###php影片教學# ##》###以上是php怎麼知道一個文件中有幾行內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!