Возврат списка всех файлов за исключением каталога в подпапках папок рекурсивно PHP

0

Я хочу, чтобы массив со значениями, как имя файлов, только в подпапках папок рекурсивно. Он не должен включать имя подпапки или вспомогательных папок. Обратите внимание: я не хочу просто печатать имя файлов, вместо этого хочу, чтобы результат был завершен по завершении выполнения. Я пробовал Link и многие другие решения, которые уже были даны без везения (используется массив_merge для сохранения предыдущих значений)

Мой код здесь

  • 0
    пожалуйста, оставьте свой код
  • 0
    Вам нужно показать некоторый код. Есть много сообщений на эту тему, поэтому я уверен, что вы можете найти решение
Теги:

1 ответ

0
Лучший ответ

Я согласен с тем, что на это был дан ответ раньше, но весело играть с рекурсией каждый раз, так что здесь вы идете...

<?php
function listFolderFiles($dir=null)
{
    $rtn = array();
    if (is_dir($dir)) {
        #echo '<ol>';
        foreach (new DirectoryIterator($dir) as $fileInfo) {
            if (!$fileInfo->isDot()) {
                #echo '<li>' . $fileInfo->getFilename();

                if ($fileInfo->isDir()) {
                    echo 'directory';
                    $rtn = array_merge($rtn, listFolderFiles($fileInfo->getPathname()));
                } else {
                    echo 'file';
                    $rtn[] = $fileInfo->getFilename();
                }
                #echo '</li>';
            }
        }
        #echo '</ol>';
    } else {
        echo "No such directory '$dir'";
    }
    return $rtn;
}
$result = listFolderFiles('\tmp');

echo "result=<pre>".print_r($result,true)."</pre><br />\n";
#print_r(array_unique($result));
  • 0
    Спасибо большое, Питер :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню