2014-07-23 158 views
-1

我是新來的PHP呼應的具體線路。有人能告訴我一個如何讀取文件的特定行並用PHP回顯它的例子嗎?如何閱讀和文本文件

比如我有一個名爲文件note.txt

line1 
line2 
line3 
line4 
line5 
line6 

從這個文件我只想閱讀和回聲2號線至LINE5。

之前謝謝所有的答案

+3

那麼,如果你嘗試過的東西。我們可以幫助你更好的..但是,假設你沒有嘗試的東西。然後你可以繼續爲每個讀取線計數器並說呼應線2和5 – Naruto

+0

我只知道如何在一個文件中讀取整條生產線PHP,但不知道如何得到它在特定的行 – user3869115

+0

我只知道這種方式來讀取文件與PHP

<?php \t $ f = fopen(「http://example.com/note.txt」, 「R」); ($ feof($ f)){ \t echo fgets($ f); //然後再讀取一行文件直到文件結尾爲止 \t while(!feof($ f)){ \t echo fgets($ f); \t} \t FCLOSE($ F); \t?> – user3869115

回答

0

可以使用file功能

例如:

$myFile = "tmp.txt"; 
$lines = file($myFile);//file in to an array 
echo $lines[1]; //line 2 

你需要從2環 - > 5要把這行

+1

OK讓我來試試謝謝 – user3869115

0

除非該文件有一個顯著的大小,你可以使用函數file()這一點。 file()將作爲數組返回文件的行。

實施例:

$start = 1; // array indexes are starting with zero 
$end = 4; // array indexes are starting with zero 

$lines = file('filename'); // get lines of file as an array 
for($i = $start; $i <= $end && $i < count($lines); $i++) { 
    echo $lines[$i]; 
} 

然而,如果文件具有顯著尺寸上面的代碼將消耗多少存儲器(〜多達文件的大小),因爲file()將讀取整個文件到一個數組。如果您正在使用大型文件時,您可以使用fopen()和使用fgets()除非你到達起點線遍歷文件的行,讀到尾線和最後關閉文件:

$ln = 0; 
$start = 1; 
$end = 4; 

$fd = fopen(__FILE__, 'r'); // open the file 

while(true) { 
    $line = fgets($fd); // read next line 
    if(!$line || $ln === $end + 1) { 
     break; 
    } 
    if($ln >= $start && $ln <= $end) { 
     echo $line; 
    } 
    $ln++; 
} 

fclose($fd); // close the file 
+0

這個好看,謝謝 – user3869115