<?php
foreach (glob("POSTS/*.txt") as $filename)
{
$file = fopen($filename, 'r') or exit("Unable to open file!");
//Output a line of the file until the end is reached
echo date('D, M jS, Y H:i a', filemtime($filename))."<br>";
while(!feof($file))
{
echo fgets($file). "<br>";
}
echo "<hr/>";
}
fclose($file);
?>
所以这个php代码从一个文件夹中读取所有文件和每个文件的行,我希望它在读取文件时:第一行添加一个html标签,使第一行成为一个大标题,下一行正常吗?我该怎么做,谢谢
答案 0 :(得分:1)
在进入循环之前,只需阅读一行,如下所示:
echo date('D, M jS, Y H:i a', filemtime($filename))."<br>";
echo '<h1>' . htmlspecialchars(fgets($file)) . '</h1>';
while (!feof($file)) {
echo htmlspecialchars(fgets($file)) . '<br/>';
}
请注意,这仅适用于空文件的情况,其中fgets
将返回false,这将显示为''
。您可以通过明确地检查错误来捕获它:
$firstLine = fgets($file);
if ($firstLine == false) {
echo '<h1>' . htmlspecialchars($firstLine) . '</h1>';
}