Получите все файлы всех подпапок и всего скрытого файла с помощью glob

В моей рекурсивной функции для zip целых папок у меня есть этот кусок кода glob ($ path. '/ *'), Который дает мне все файлы и подпапки, соответствующие моему пути $.

Здесь я прочитал, что с glob я могу получить даже скрытые файлы «.filename» с glob ('{,.} *', GLOB_BRACE). Как слить в одном выражении мои потребности? Я пробовал glob ('{/,.}*', GLOB_BRACE), но только дал мне файлы, которые я пробовал glob ('{/,.,}*', GLOB_BRACE), но я получаю сумасшедшие результаты

Я уже фильтрую. а также ..

Как слить

glob($dir . '/*') 

а также

  glob('{,.}*', GLOB_BRACE) 

Чтобы получить все папки / файлы (даже скрытые):

 $result = glob($path . '{,.}[!.,!..]*',GLOB_MARK|GLOB_BRACE); 

Это предотвратит листинг "." или ".." в результате.

Вы пробовали это?

 glob($path. '/{,.}*', GLOB_BRACE); 

Метод glob() возвращает массив. Поэтому, если вы хотите объединить два разных результата glob

 $merged = array_merge(glob($dir . '/*'), glob('{,.}*', GLOB_BRACE)); 

Возможно, вы нашли уже решение, но в случае, если вы искали способ, который дает вам файлы и каталоги, рекурсивно и заботясь о скрытых файлах, это то, что я получил:

 function rglob($pattern, $flags = 0) { $files = glob($pattern, $flags); foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) { $files = array_merge($files, $this->rglob($dir.'/'.basename($pattern), $flags)); } return $files; }