簡體   English   中英

讀取文件第一行和最后一行的最有效的PHP方法是什么?

[英]What is the most efficient PHP way to read first and last line of a file?

我正在嘗試打開文件並確定它是否有效。 如果第一行是START,最后一行是END,則有效。

我已經看到了獲取文件最后一行的不同方法,但是也沒有特別注意第一行。

我應該怎么做? 我正在考慮將文件內容加載到數組中,並檢查$ array [0]和$ array [x]的START和END。 但這似乎浪費了所有可能處於中間的垃圾。

如果文件有效,我將在START和END之間讀取/處理文件的內容。

如果不需要,請勿將整個文件讀入數組。 如果文件很大,可以這樣:

$h = fopen('text.txt', 'r');
$firstLine = fgets($h);
fseek($h, -3, SEEK_END);
$lastThreeChars = fgets($h);

內存占用量低得多

那是我的:

$lines = file($pathToFile);
if ($lines[0] == 'START' && end($lines) == 'END') {
    // do stuff
}

使用fgets讀取整個文件對於小型倉庫是有效的。 如果您的文件很大,則:

  1. 打開並閱讀第一行
  2. 使用在fseek文檔中的php.net中找到的tail(我沒有檢查它,但看起來還可以)函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM