循环浏览一系列文件夹并检查文件夹的年龄

时间:2015-07-28 13:10:30

标签: php loops filesystems directory

我正在制作一个将删除超过15天的文件夹的Cron。我已经创建了一个删除文件夹及其内容的功能,我没有的是在文件夹中循环,然后检查每个文件夹的年龄,如果这是15天或更早,我将执行我的删除功能。

我想在public/uploads

内循环

在我的uploads目录中,我存储了包含内容的文件夹

public/
  uploads/
      Test/
      Test2/

我想查看这些文件夹的年龄,然后通过调用

删除它
function Delete($path)
{
 if (is_dir($path) === true)
 {
    $files = array_diff(scandir($path), array('.', '..'));

    foreach ($files as $file)
    {
        Delete(realpath($path) . '/' . $file);
    }

    return rmdir($path);
 }

 else if (is_file($path) === true)
 {
    return unlink($path);
 }

 return false;
}

我该怎么做?感谢

1 个答案:

答案 0 :(得分:0)

您正在寻找的功能是filemtime()。这使您可以确定文件(或目录)的上次修改日期。与various directory functions结合使用可以让您循环浏览它们并检查它们的日期。

这是我脑子里的嘲讽,让你大致了解你可能会如何

$dir = '/path/to/my/folders';
$folders = scandir($dir);
foreach ($folders as $folder) {
    $lastModified = filemtime($folder);
    // Do a date comparison here and call your delete if necessary
}