dpl74687 2019-04-06 15:38
浏览 53

php RecursiveIterators - 备份public_html文件夹但忽略一个文件夹[重复]

I need to allow my user to backup his public_html folder, but I want to zip everything except my own "rules folder". I've found a very nice answer here (working pretty good, but the exported zip file contains my rules folder aswell). So the question is how to detect the folder and just ignore it?

$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 returns

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

and so on, no Folder names at all, so when I call

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

nothing happens because no folder names exists

Any suggestion please?

Thanks

</div>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的
    • ¥15 r语言蛋白组学相关问题