У меня есть конкретный вопрос. Я новичок в php, поэтому мне все еще немного сложно :)scandir recursivly с php
Итак, у меня есть функция, которая рекурсивно сканирует dirs и печатает определенный массив из результата. Я почти понимаю, почему это происходит, но я не мог понять, как изменить его, как мне нужно. Пожалуйста помоги!
На данный момент я получаю массив:
Array
(
[0] => Array
(
[album1] => Array
(
[0] => .
[1] => ..
)
)
[1] => Array
(
[album2] => Array
(
[0] => .
[1] => ..
)
)
[2] => Array
(
[album3] => Array
(
[0] => .
[1] => ..
)
)
)
Но мне нужно получить:
Array
(
[album1] => Array (
[0] => .
[1] => ..
)
[album2] => Array
(
[0] => .
[1] => ..
)
[album3] => Array
(
[0] => .
[1] => ..
)
)
сама функция:
<?php
function RAgetFiles($main_dir, $result = array()) {
$dirs = scandir($main_dir);
foreach($dirs as $dir) {
if (is_dir("$main_dir/$dir")){
if ($dir === '.' || $dir === '..') {
continue; }
$files=scandir($main_dir."/".$dir);
$result[] = array($dir => $files);
}
}
return $result;
}
$rafiles = RAgetFiles('thumbs');
echo '<pre>';
print_r($rafiles);
echo '<pre>';
?>
Возможно, было бы проще использовать Истребитель каталогов SPL - http://www.php.net/manual/en/class.directoryiterator.php –
try '$ results [$ dir] = $ files' –
@kuh -chan, вы должны сделать это ответом. – flowfree