Я хочу, чтобы массив со значениями, как имя файлов, только в подпапках папок рекурсивно. Он не должен включать имя подпапки или вспомогательных папок. Обратите внимание: я не хочу просто печатать имя файлов, вместо этого хочу, чтобы результат был завершен по завершении выполнения. Я пробовал Link и многие другие решения, которые уже были даны без везения (используется массив_merge для сохранения предыдущих значений)
Я согласен с тем, что на это был дан ответ раньше, но весело играть с рекурсией каждый раз, так что здесь вы идете...
<?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));