나는 특정한 질문이있다. 나는 PHP를 처음 사용하기 때문에 조금 더 힘들어진다. :)scandir 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 –
'$ results [$ dir] = $ files' 시도해보십시오. –
@kuh -chan 당신은 대답을해야합니다. – flowfree