В моей рекурсивной функции для 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; }