PHP
특정 경로의 폴더 리스트 가져오기
작은0악마
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의 형태로 보낸다.
또한 해당 폴더의 서브폴더 목록을 가져오기 위해 재귀 호출을 하였다.