这是插入文件,它一次放1行。 我想只阅读最后10行,例如。
$file = SITE_ROOT."logs/log.txt";
if ($handle = fopen($file, 'a+b')) {
$content = Session::get('username') . " has logged out on - " . datetime_to_text("now") . "\r\n";
fwrite($handle, $content);
fclose($handle);
} else {
echo 'Culd not open file for writing.';
}
这就是我读它们的方式,全部读出来。
$file = SITE_ROOT . "logs/log.txt";
$content = "";
if ($handle = fopen($file, 'r')) {
while (!feof($handle)) {
$content .= '<li><a href="#">' . fgets($handle) . '</a></li>';
echo count($handle);
}
fclose($handle);
}
echo nl2br($content);
如何只读10?
完成后,我找到了我正在寻找的答案。
Thx, i found useffull this one.
$file = SITE_ROOT . "logs/log.txt";
$data = array_slice(file($file), -10);
$data1 = file($file);
foreach ($data as $line) {
echo '<li><a href="#">'. nl2br($line) . '</a></li>';
}
答案 0 :(得分:0)
while (!feof($handle)) {
实际上是&#34;阅读&#34;该行将其改为此
$i=0;
$max=10;
while (!feof($handle) && ($i++ < $max)) {
设置计数器并计数直到达到$ max。 对不起,我错过了最后10个。只见过代码块之间的10行
How to read only 5 last line of the text file in PHP?
为最后x行提供了很好的信息