php RecursiveIterators-备份public_html文件夹,但忽略一个文件夹

时间:2019-04-06 15:38:33

标签: php backup recursiveiterator

我需要允许我的用户备份他的public_html文件夹,但是我想压缩除我自己的“规则文件夹”之外的所有内容。我找到了一个很好的答案here(工作得很好,但是导出的zip文件也包含我的rules文件夹)。所以问题是如何检测文件夹而忽略它?

$files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($rootPath),
    RecursiveIteratorIterator::LEAVES_ONLY
);
$exclude = array("rulles_folder");
foreach ($files as $name => $file) {
    var_dump($file -> getFilename());
    if ($file -> isDir() && !in_array($file -> getFilename(), $exclude)) {
        salta();
    } else {
        // Skip directories (they would be added automatically)
        if (!$file -> isDir()) {
            // Get real and relative path for current file
            $filePath = $file -> getRealPath();
            $relativePath = substr($filePath, strlen($rootPath) + 0);
            // Add current file to archive
            $zip -> addFile($filePath, $relativePath);
        }
    }
}
function salta () {
    ;
}

var_dump返回

string(1) "." string(2) ".." string(9) ".DS_Store" string(9) "index.php"

以此类推,根本没有文件夹名称,所以当我打电话时

if ($file -> isDir() && !in_array($file -> getFilename(), $a_excluir))

什么都没有发生,因为不存在文件夹名称

有什么建议吗?

谢谢

0 个答案:

没有答案