$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);
}
私はウェブサイトのチュートリアルから作業しています。これは、他のアプリの1つで使用するための小さなチャットに変えようとしているゲストブックプログラムです。
私が立ち往生しているところは、これらの2つの行と関係があります:
$oldRows = join ('', file ('gstbook.txt') );
と:
fputs ($fileName, $oldRows . chr(13) . chr(10) . $newRow);
ファイル全体を1つの文字列に入力していることがわかります。次に、その文字列を出力します。私がGoogleから理解できなかったのは、ファイルの最初のn行だけを$oldRows変数に入力させる方法です。
良いニュースは、
</tr>
各ファイル行の区切り文字として機能できます。悪いニュースは、そこからどこに行けばいいのかわからないことです。
$oldRows変数の入力を$filenameからn行だけに制限する方法、または$ oldRows変数をn行だけに切り捨てる方法を教えてもらえますか?
修正:
ファイルの最後の n行を取得する必要があります(最新のものが最後に追加されます)