1

我有一个正在制作的活动经理,这几乎完成了,但有一件事。我有一个文件,view.php可以查看事件。但是,我需要删除过去日期的事件。

它是平面文件,因此日期作为文件名存储在文件夹中data。他们的名字将是日期。例如:"data/Monday, 21 February, 2011.html"将在那个日期。有人对如何删除过去的事件(文件)有任何想法吗?

提前致谢。

4

2 回答 2

2

或者,更好的选择是存储数字时间戳而不是文本格式。然后您可以使用以下内容删除必要的文件:

$dir = new DirectoryIterator('/path/to/your/files');
foreach($dir as $file) {
    ... extract timestamp from each file ...
    ... if it's less than your cutoff, delete file ...
}

这样就省去了每次都必须将文件名的日期部分解析为日期时间值的麻烦,并且您只需进行简单的数字比较。

于 2011-01-27T18:26:18.320 回答
1

您已经使用此命名方案为您的背部做了一根棒子(通常,文件中尽可能包含空格也是一种不好的做法),但没关系。

你需要做的是:

  1. 使用scandir或类似工具扫描目标目录。(根据目录的内容,glob可能是更好的选择。)

  2. 在使用str_replace删除“.html”部分后,通过strtotime将每个有效(即:不是“.”或“..”)html 文件名转换为时间戳。

  3. 如果文件在过去,请取消链接。

于 2011-01-27T18:27:57.010 回答