2014. 11. 13. 11:23

어떤 폴더내의 폴더 목록을 가져올 필요가 생겼다.

 

그 폴더 목록을 가져와서 Tree형대로 표시할려고 한다.

 

그래서 다음과 같은 함수를 만들어 처리했다.

 

function getDir($path){
  
  $arrData = array();
  $results = scandir($path);
  
  foreach ($results as $result) {  
   if ($result === '.' or $result === '..') continue;  
   if (is_dir($path . '/' . $result)) { //디렉토리라면
    $data = array();
    $data["text"] = iconv("euc-kr","utf-8",$result); //한글일경우 json 에러때문에
    $data["id"] = iconv("euc-kr","utf-8", $path . '/' . $result);
    $data["cls"] = "folder";
    $sub_folders = getDir($path . '/' . $result); //폴더이므로 그 안에 폴더 목록을 가져오기 위해..
    if(count($sub_folders)){
     $data["leaf"] = false;
     $data["root"] = $sub_folders;
    }else{
     $data["leaf"] = true;
    }
    $arrData[] = $data;
   }
  }
  return $arrData;
 }


 

참고로 위 소스는 가져온 값을 json의 형태로 보낸다.

 

또한 해당 폴더의 서브폴더 목록을 가져오기 위해 재귀 호출을 하였다.

Posted by 작은0악마