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>";
                echo '<h2>' . htmlspecialchars(fgets($file)) . '</h2>';

                while(!feof($file))
                  {
                  echo fgets($file). "<br>";
                  }
            echo "<hr/>";
        }
    fclose($file);



    ?>

我正在写一个博客,并且已经能够输入文件,但只能首先输入最旧的文件

我怎么做才能让我首先在最新日期之前输入它们?

谢谢

4

2 回答 2

1

用于usort()以正确的顺序放置文件数组(日期说明)。

function timeSort($first, $second) {
    $firsttime = filemtime($first);
    $secondtime = filemtime($second);

    return $secondtime - $firsttime;
}

$files = glob("POSTS/*.txt");

usort($files, 'timeSort');

foreach ($files as $filename) {

     /* Same as before */

}
于 2013-03-24T12:45:58.593 回答
1

如果您真的坚持使用文本文件而不是数据库来存储您的博客条目,那么以所需方式对它们进行排序的一种简单方法是使用array_reverse(),如下所示:

$posts = array_reverse(glob("POSTS/*.txt"));
foreach($posts as $filename) {
    // do your stuff
}
于 2013-03-24T12:49:17.213 回答