본문 바로가기
PHP

PHP 하위 디렉토리 포함 디렉토리 리스트 출력

by 씨엔아이소프트 2018. 6. 21.
반응형

PHP 하위 디렉토리 포함 디렉토리 리스트 출력 함수



1. opendir, readdir 함수 사용


function GetDir($dir) {

  if(is_dir($dir)) {

    if($kami= opendir($dir)){

        while($file = readdir($kami)){

            if($file != '.' && $file != '..'){

                if(is_dir($dir . $file)){

                    echo $dir . $file."\n";  // 디렉토리만 출력

                    GetDir($dir . $file . '/');

                }else{

                    echo $dir . $file."\n";   // 파일 출력

                }

            }

        }

    }

    closedir($kami);         

  }

}


echo "<pre>";

GetDir("/home/testuser/");



2. glob 함수 이용


function listdirs($dir) {

    $dirs = glob($dir . '/*', GLOB_ONLYDIR);

    if (count($dirs) > 0) {

        foreach ($dirs as $d) echo $d."\n";

    }

    foreach ($dirs as $dir) listdirs($dir);

}


echo "<pre>";

listdirs('/home/testuser');

echo "</pre>";



* 배열 이용

function listdirs($dir) {

    static $alldirs = array();

    $dirs = glob($dir . '/*', GLOB_ONLYDIR);

    if (count($dirs) > 0) {

        foreach ($dirs as $d) $alldirs[] = $d;

    }

    foreach ($dirs as $dir) listdirs($dir);

    return $alldirs;

}


$directory_list = listdirs('/home/testuser');

echo "<pre>";

print_r($directory_list);

echo "</pre>";




반응형

'PHP' 카테고리의 다른 글

코드 생성 하기  (0) 2018.08.07
PHP웹 보안 취약점 TOP5(웹해킹)  (0) 2018.07.10
PHP 파일 업로드 FORM 처리  (0) 2018.06.12
php 5.3 register_blogals 삭제 대체  (0) 2018.06.12
PHP 이미지 리사이즈 함수 imagecopyresized  (0) 2017.09.27

댓글