PHP按日期查找本地文件,跳过目录级别

时间:2018-05-17 17:56:16

标签: php

我希望从本地目录树中选择超过特定年龄的文件。以下代码有效但效率很低,因为目录太大,会导致超时。

for colName in df.columns:
    if colName == "interesting_column":
        df = df[ df[colName].notna() ]
    else:
        df = df[ df[colName].isna() ]

目前代码正在扫描每个文件和文件夹并返回匹配项,但我知道$dir = new RecursiveDirectoryIterator('store/', FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS); $files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) { // Allow recursion if ($iterator->hasChildren()) { return TRUE; } // Check for target folder name if ($current->isFile() && strpos($current->getPath(), '/target-folder/')) { return TRUE; } return FALSE; }); $expiry = new DateTime(); $expiry = date_modify($expiry,"-28 days"); foreach (new RecursiveIteratorIterator($files) as $file) { $cTime = new DateTime(); $cTime->setTimestamp($file->getCTime()); if ($cTime < $expiry) { echo $file->getPath() . "/" . $file->getFileName() . " file Created " . $cTime->format('Y-m-d j:i:s') . "<br/>\n"; } } 总是3级深处(存储/ [子文件夹] / [子文件夹] /目标文件夹/ [从这里递归搜索])所以我搜索前2个级别什么都没有。然而,并不总是有目标文件夹,我还需要在目标文件夹中递归搜索,因为我需要的文件将在其中。有没有办法忽略&#39;商店内的前两个级别?树?

0 个答案:

没有答案