개발 꿀팁/PHP

php 빈 디렉터리 및 빈 하위 디렉터리 삭제

Jammie 2022. 8. 17. 16:24
반응형

php 빈 디렉터리 및 빈 하위 디렉터리 삭제



단계:

1.카탈로그와 서브카탈로그를 넘나들다

2.스캔디르로 판단하기디렉터리가 비어 있는지 여부, 예빈칸은 rmdir로 지웁니다나누다

<?php
/** 모든 빈 디렉터리 삭제
* @param String $path 디렉터리 경로
*/
function rm_empty_dir($path){
    if(is_dir($path) && ($handle = opendir($path))!==false){
        while(($file=readdir($handle))!==false){     //폴더 이동
            if($file!='.' && $file!='..'){
                $curfile = $path.'/'.$file;          // 현재 디렉터리
                if(is_dir($curfile)){                // 카테고리
                    rm_empty_dir($curfile);          // 디렉터리라면 계속 둘러보기
                    if(count(scandir($curfile))==2){ // 디렉터리가 비어 있습니다. = 2는( 는) 존재하기 때문입니다
                        rmdir($curfile);             // 빈 디렉터리 삭제
                    }
                }
            }
        }
        closedir($handle);
    }
}
 
$folder = '대상 폴더';
 
rm_empty_dir($folder);
?>

셸을 사용하면 훨씬 간단합니다

find 대상 폴더 -mindepth 1 -depth -empty -type d -execrm -r {}\;

 

반응형