@avtorlego

Как получить список всех файлов в директории и поддерикторях?

Вот есть папка test
в ней файл 1.txt допустим
в папке текст есть папка j
в ней тоже есть файл 6.txt
как так сделать? что бы на выходе был подобный массив
0 => 1.txt
1 => /j/6.txt

?
  • Вопрос задан
  • 332 просмотра
Решения вопроса 1
chelkaz
@chelkaz
Вам видимо нужно использовать класс RecursiveDirectoryIterator
Он предоставляет интерфейс для рекурсивного перебора каталогов файловой системы.
Подробно:
php.net/manual/ru/class.recursivedirectoryiterator.php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AlikDex
Чутка не успел, закрыли вопрос прошлый. Держи тут тогда:
$sourcePath = realpath(dirname(__FILE__) . '/images');

if (false === $sourcePath) {
    return;
}

$excludeItems = [ // Пропускать файлы или директории
    '.',
    '..',
    '.htaccess',
];

$files = [];

$directory = new \RecursiveDirectoryIterator($sourcePath);
$iterator = new \RecursiveIteratorIterator($directory);

foreach ($iterator as $fileInfo) {
    $basename = basename($fileInfo->getPathname());

    if (in_array($basename, $excludeItems)) {
        continue;
    }

    $files[] = $fileInfo->getPathname();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы