首頁  >  文章  >  後端開發  >  php讀取檔案最後幾行資料的程式碼是什麼

php讀取檔案最後幾行資料的程式碼是什麼

青灯夜游
青灯夜游原創
2021-10-13 18:51:052521瀏覽

在php中,可以利用file()和array_slice()函數來讀取檔案最後幾行數據,實作程式碼「array_slice(file($file,FILE_IGNORE_NEW_LINES),-行數)」。

php讀取檔案最後幾行資料的程式碼是什麼

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php讀取檔案最後幾行資料

實作想法:

  • #借助file()函數將整個檔案資料存入數組中,每一行資料對應一個陣列元素

  • 借助array_slice()函數取得數組中後幾個元素即可。

實作程式碼:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);

echo "文件的数据:";
var_dump($filearr);

echo "截取数组后2位的元素片段:";
$result = array_slice($filearr,-2); //截取数组后2位的元素
var_dump($result);
?>

輸出結果:

php讀取檔案最後幾行資料的程式碼是什麼

說明:

file() 函數會將檔案的內容以行存放到陣列中(包括換行符號在內)。如果成功則傳回這個數組,失敗則回傳 FALSE。 file() 函數的語法格式如下:

file($filename,$flags,$context)

此函數接受一個必要參數$filename(要讀取的檔案),兩個可省略的參數$flags$context(檔案句柄的環境)。

但一般還是會設定$flags參數的,該參數可以是以下一個或多個常數:

  • FILE_USE_INCLUDE_PATH:在include_path (在php.ini 中)中尋找文件,預設為FALSE;如果想,則設定參數值為'1'。

  • FILE_IGNORE_NEW_LINES:在陣列每個元素的結尾不要加上換行符號;

  • FILE_SKIP_EMPTY_LINES:跳過空白行。

array_slice()函數就是PHP提供的用來截取陣列的一個函數,可以從陣列中擷取出一個片段。語法如下:

array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )

參數說明:

  • arr 表示要截取的陣列。
  • start 表示開始截取的位置(下標):
    • 如果 start 為正數,則從前往後截取。
    • 如果 start 為負數,則從距離 arr 端 -start 的位置開始,從後往前截取。例如 -2 意味著從陣列的倒數第二個元素開始。
  • length 是可選參數,表示截取長度:
    • 如果length 為正數,那麼表示被截取的元素個數;
    • 如果length為負數,那麼截取的片段將終止在距離數組末端length 的位置;
    • 如果省略,那麼將從start 位置開始,一直截取到數組的末尾。
  • preserve_keys 是可選參數,規定是否保留原來的鍵名,預設為 false,也即不保留;如果設為 true,將保留原有的鍵名。

推薦學習:《PHP影片教學

以上是php讀取檔案最後幾行資料的程式碼是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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