2011-01-21 141 views
0

在PHP中使用fgets()函數(或任何其他方式)是否有讀取文件的最後一行然後反向工作的方法? 我在做什麼:(根據請求)我附加到一個輸入的.txt文件行(不要擔心),當然附加添加到一個文件的END,所以我需要顯示的內容一行文件被顯示爲一個條目
所以如果文件的內容是:
你好,世界!
Foo喜歡Bar!
那麼它需要顯示爲
1. Foo喜歡Bar!
2.你好,世界!
fgets()PHP讀取最後一行?

+0

沒有這樣的功能。並且無法通過使用fgets向後讀取行來讀取。你可以通過塊讀取文件。但是,通過講述整個故事,你會爲自己做出巨大的貢獻 - 你爲什麼需要這個,什麼導致你完成這個任務。有可能是一個微不足道的解決方案已經 – 2011-01-21 08:38:15

+0

可能重複[使用fseek逐行讀取文件](http://stackoverflow.com/questions/3234580/read-a-file-backwards-line-by-line-using -fseek) – Gordon 2011-01-21 08:52:04

回答

2

據我所知PHP不知道gets()函數。但是..

如果您使用'file()'並反轉數組,您可以從下到上工作。這應該爲你做的伎倆!

0

如果它是一個非常大的文件時,它可能會更好使用以下...

exec("tail -1 input_file > output_file") ; 
$string = file_get_contents("output_file") ; 
unlink("output_file") ; 

這是基於UNIX/Linux系統的命令,但我敢肯定的Windows也有類似的命令尾巴。