0
    <?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标签以使第一行成为一个大标题和下一行普通的?我该怎么做,谢谢

4

1 回答 1

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>';
}
于 2013-03-24T11:02:45.943 回答