【发布时间】:2015-05-23 21:54:45
【问题描述】:
我创建了一个目录,其中包含以下文件:
- index.php
- one.txt - 你好
- two.txt - 好的
- three.txt - 再见
- four.txt - 酷
粗体字告诉你这些文本文件包含什么。
我要做的是将文本文件的所有内容回显到 index.php 页面中。所以当用户访问 index.php 页面时,他们会看到:
日期:2015 年 5 月 13 日
文本文件内容:您好日期:2015 年 5 月 12 日
文本文件内容:好的日期:2015 年 5 月 11 日
文本文件内容:再见日期:2015 年 5 月 10 日
文本文件内容:酷
从上面可以看到,文本文件的创建日期及其内容都已回显。此外,它们会根据上次修改的顺序被回显。
这是我试图用来实现此目的的代码:
<?php
foreach (glob("*.txt") as $filename) {
echo "Date:";
echo date('d F Y', filemtime($filename)) .
"Contents of text file:";
echo file_get_contents($filename);
}
?>
这段代码中发生的事情是:
- 目录中的所有文本文件都被拾取
- 对于每个文本文件,它都会获取其最后修改日期以及其中包含的内容
这段代码的结果是它类似于上面黄色框中的内容(这是我想要实现的),但是回显的顺序不是日期顺序。它得到了一些类似这样的回应:
- 5 月 13 日
- 5 月 10 日
- 5 月 11 日
- 5 月 12 日
我将如何使它根据上次修改的日期得到回显?最晚日期在顶部,最旧日期在底部?
【问题讨论】:
-
收集消息到数组,排序然后回显。
-
Glob不保证返回条目的顺序。您需要根据需要对它们进行排序。也许有用:glob() - sort by date。然后使用这些条目来获取和显示文件内容。