Есть каталог:
$ # w/o dotfiles:
$ find /path/to/dir | grep -v '/\.' | wc -l
146016
Результат рекурсивного перебора файлов с помощью функции glob
и шаблона без {}
зависит от флага GLOB_BRACE
:
$ cat rglob
#!/usr/bin/env php
<?php
function foo($path, &$nfile) {
$files = glob($path.'/*');
foreach ($files as $file) {
$nfile++;
if (is_dir($file))
foo($file, $nfile);
}
}
$nfile = 0;
foo('/path/to/dir', $nfile);
echo("$nfile\n");
?>
$ diff rglob rglob_brace
4c4
< $files = glob($path.'/*');
---
> $files = glob($path.'/*', GLOB_BRACE);
$ ./rglob
146015
$ ./rglob_brace
143433
Так должно быть? Почему?
// Флаг GLOB_BRACE
мне понадобится с другим шаблоном, чтобы перебрать и dotfiles...