DevelNext – Поиск вложенных файлов
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
use php\io\File; use php\lib\Arr; use php\lang\System; // ... /* * Имя функции по аналогии с glob recursive * * $this->globR('C:\\Icons\\'); - вернёт массив с полными путями к файлам */ public function globR($path){ $return = []; $ds = System::getProperty('file.separator'); // Чтоб функция работала кроссплатформенно foreach (File::of($path)->find() as $f) { $fullPath = $path . $ds . $f; if(File::of($fullPath)->isDirectory()){ $return[] = $this->globR($fullPath . $ds); // Если директория, функция вызывается рекурсивно } else $return[] = realpath($fullPath); } return Arr::flatten($return); // Всё сливается в одноуровневый массив } |
$return[] = $this->globR($fullPath . $ds);
$ds лишний
fs::scan($path, $filter) разве не позволяет получить такой результат?
Позволяет, данный код писался, когда ещё не было этой функции