如何使用RecursiveDirectoryIterator忽略/排除文件夹?

马尔韦恩

PharData用来创建tar包。它工作正常,但其中包含我不需要的文件夹。如何排除存档中的文件夹?

<?php
$dir = "/foobar/dir";
$iterator = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir)
);

$phar = new PharData('/mytar.tar');
$phar->buildFromIterator($iterator, $dir);
$phar->compress(Phar::GZ);
unlink(realpath('/mytar.tar'));

我要在存档中忽略的文件夹是vendor/foobar/dir/vendor)。

累积的

您可以使用CallbackFilterIterator()过滤不需要的文件和文件夹(尚未测试):

<?php
$dir = "/foobar/dir";
$iterator = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir)
);
$filterIterator = new CallbackFilterIterator($iterator , function ($file) {
    return (strpos($file, "vendor/") === false);
});
$phar = new PharData('/mytar.tar');
$phar->buildFromIterator($filterIterator, $dir);
$phar->compress(Phar::GZ);
unlink(realpath('/mytar.tar'));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使RecursiveDirectoryIterator排除隐藏的文件夹

来自分类Dev

如何使RecursiveDirectoryIterator排除隐藏的文件夹

来自分类Dev

使用RecursiveDirectoryIterator列出文件夹/子文件夹

来自分类Dev

如何使用此备份脚本排除文件夹?

来自分类Dev

使用mv命令时如何排除文件夹

来自分类Dev

使用mv命令时如何排除文件夹

来自分类Dev

如何使用rsync命令排除多个文件夹

来自分类Dev

RecursiveDirectoryIterator删除点文件夹

来自分类Dev

如何使用 Geta 站点地图排除包含文件夹中的特定子文件夹?

来自分类Dev

可以忽略/排除来自.editorconfig的文件/文件夹吗?

来自分类Dev

.gitignore-忽略文件夹排除的困难

来自分类Dev

如何从rsync中排除文件夹

来自分类Dev

如何从rsync中排除文件夹

来自分类Dev

如何从 rsync 中排除文件夹

来自分类Dev

使用`find`命令排除文件夹

来自分类Dev

使用gci排除多个文件夹

来自分类Dev

使用查找时排除文件夹

来自分类Dev

如何忽略水银文件夹

来自分类Dev

如何让 gitignore 排除 2 个文件夹中存在的特定 js 文件,而忽略所有其他 js 文件?

来自分类Dev

如何使用终端包含/排除许多不同的文件/文件夹

来自分类Dev

使用WinRAR压缩时排除文件和文件夹

来自分类Dev

使用Robocopy排除许多文件和文件夹

来自分类Dev

如何使用Intellij Idea IDE忽略特定文件夹或文件中的ToDo

来自分类Dev

如何使用Jest忽略specs tests文件夹中的测试文件?

来自分类Dev

使用`find`命令时如何忽略`.*`文件夹和文件?

来自分类Dev

mdfind排除文件夹

来自分类Dev

Rsync排除文件夹

来自分类Dev

在父目录上使用(rm -rf *)时如何排除要删除的文件夹

来自分类Dev

如何在nodejs中获得文件夹大小,并使用全局模式排除某些路径?

Related 相关文章

  1. 1

    如何使RecursiveDirectoryIterator排除隐藏的文件夹

  2. 2

    如何使RecursiveDirectoryIterator排除隐藏的文件夹

  3. 3

    使用RecursiveDirectoryIterator列出文件夹/子文件夹

  4. 4

    如何使用此备份脚本排除文件夹?

  5. 5

    使用mv命令时如何排除文件夹

  6. 6

    使用mv命令时如何排除文件夹

  7. 7

    如何使用rsync命令排除多个文件夹

  8. 8

    RecursiveDirectoryIterator删除点文件夹

  9. 9

    如何使用 Geta 站点地图排除包含文件夹中的特定子文件夹?

  10. 10

    可以忽略/排除来自.editorconfig的文件/文件夹吗?

  11. 11

    .gitignore-忽略文件夹排除的困难

  12. 12

    如何从rsync中排除文件夹

  13. 13

    如何从rsync中排除文件夹

  14. 14

    如何从 rsync 中排除文件夹

  15. 15

    使用`find`命令排除文件夹

  16. 16

    使用gci排除多个文件夹

  17. 17

    使用查找时排除文件夹

  18. 18

    如何忽略水银文件夹

  19. 19

    如何让 gitignore 排除 2 个文件夹中存在的特定 js 文件,而忽略所有其他 js 文件?

  20. 20

    如何使用终端包含/排除许多不同的文件/文件夹

  21. 21

    使用WinRAR压缩时排除文件和文件夹

  22. 22

    使用Robocopy排除许多文件和文件夹

  23. 23

    如何使用Intellij Idea IDE忽略特定文件夹或文件中的ToDo

  24. 24

    如何使用Jest忽略specs tests文件夹中的测试文件?

  25. 25

    使用`find`命令时如何忽略`.*`文件夹和文件?

  26. 26

    mdfind排除文件夹

  27. 27

    Rsync排除文件夹

  28. 28

    在父目录上使用(rm -rf *)时如何排除要删除的文件夹

  29. 29

    如何在nodejs中获得文件夹大小,并使用全局模式排除某些路径?

热门标签

归档