如何在php中根据创建日期从目录中删除文件?

我有一个存储html文件的缓存文件夹。它们在需要时会被覆盖,但是很多时候,很少使用的页面也会被缓存在那里,最终只会占用空间(5周后,驱动器已满了270万个缓存文件)。

循环访问包含数十万个文件的目录并删除早于1天的文件的最佳方法是什么?

回答:

我认为您可以通过使用readdir遍历目录并根据时间戳删除来解决此问题:

<?php

$path = '/path/to/files/';

if ($handle = opendir($path)) {

while (false !== ($file = readdir($handle))) {

$filelastmodified = filemtime($path . $file);

//24 hours in a day * 3600 seconds per hour

if((time() - $filelastmodified) > 24*3600)

{

unlink($path . $file);

}

}

closedir($handle);

}

?>

if((time() - $filelastmodified) >

24*3600)将选择的文件超过24小时(24周小时时间每小时3600秒)以上。如果需要几天,则对于一周以上的文件,它应显示为例如7 * 24 *

3600。

另外,请注意,它filemtime返回文件的最后修改时间,而不是创建日期。

以上是 如何在php中根据创建日期从目录中删除文件? 的全部内容, 来源链接: utcz.com/qa/406630.html

回到顶部