2013-03-26 44 views
1
$fileName = file ("gstbook.txt"); 
$rows = count ($fileName); 

// $Char is the string that will be added to the file. 
if ($Char != '') 
{ 
    $Char = str_replace ("\n","<br>",$Char); 
    $Char = strip_tags ($Char, '<br>'); 

    $newRow = '<tr><td>' . ($username) . ": " . ($Char) . '</td></tr>'; 

    $oldRows = join ('', file ('gstbook.txt')); 
    $fileName = fopen ('gstbook.txt', 'w'); 
    fputs ($fileName, $oldRows . chr(13) . chr(10) . $newRow); 
    fclose ($fileName); 
} 

我正在從一個網站上的教程工作。這是一個留言簿程序,我試圖變成一個小聊天,用於我的其他應用程序之一。如何檢索文件的前n行? (php)

在那裏我卡住了與這兩條線的事:

$oldRows = join ('', file ('gstbook.txt')); 

和:

fputs ($fileName, $oldRows . chr(13) . chr(10) . $newRow); 

我可以告訴它的輸入整個文件合併成一個字符串。然後輸出該字符串。 我一直無法從Google弄清楚如何使它只輸入文件的第一個n行到$ oldRows變量中。

的好消息是,

</tr> 
每個文件行

可以作爲分隔符行事。壞消息是我不知道從哪裏去。

會有人告訴我如何限制$ oldRows變量只是從$文件名或ň線如何修剪下來$ oldRows變量只是ñ線路輸入?

更正:

我需要得到的文件LASTñ線(最新添加到年底)

+0

您是否嘗試打開文件並讀取N行? – Mawg 2013-03-26 07:32:51

回答

2

嘗試

array_map('trim', file($filename)); 

這將返回數組字符串,那麼你可以使用for/foreach

+2

完美。並與array_reverse我可以使最後n行前n行數。韓國社交協會。 – WaxyChicken 2013-03-26 07:41:04

1

我會用array_slice

下面是一個例子:

$data = file('file.txt'); 
$data = array_slice($data, count($data) - 1, null, true); 
print_r($data); 

在上面的代碼中count($data) - 1)是你設置的ñ參數,在這種情況下,獲取該文件的最後一行。