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コードはフォルダーからすべてのファイルと各ファイルを1行ずつ読み取ります。読み取り時にファイルが次のようになるようにします。最初の行にhtmlタグを追加して、最初の行を大きな見出しにし、次の行を正常?どうすればいいですか、ありがとう

4

1 に答える 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/>';
}

これは、空のファイルの場合に偶然にのみ機能することに注意してください。 wherefgetsは false を返し、 として表示され''ます。false を明示的にチェックすることで、それをキャッチできます。

$firstLine = fgets($file);
if ($firstLine == false) {
    echo '<h1>' . htmlspecialchars($firstLine) . '</h1>';
}
于 2013-03-24T11:02:45.943 に答える