본문 바로가기
IT기술(코딩)

php 폴더 삭제 하기

by 크리에이트매이커 2021. 12. 22.
반응형

안녕하세요~

 

php 는

@rmdir(경로);

명령어로 폴더를 삭제할 수 있습니다~

 

하지만 폴더 안에 파일이 있다면, false를 반환하고 삭제가 안되버리는 처참한 기능이 있지요..

아마 저 기능이 필요한 분들은 대부분, 그냥 폴더 안의 파일들까지 삭제를 원하실거에요.

근데 찾아보니까 한줄 코딩으로는 안되나 봐여..

 

다들 재귀함수로 안에 모든 파일 삭제하고 폴더를 삭제하더라구요..

그러니 그냥 아래 함수를 복붙해서 경로만 넣어주고 사용하시면 될거 같아요~

//함수 사용. //if문으로 해당 폴더경로가 있는지 확인
if(is_dir(폴더경로 입력)){
	rmdir_all(폴더경로 입력);

}



//폴더 삭제 함수
//$delete_path 란에 폴더 경로 입력.
function rmdir_all($delete_path) {
	$dirs = dir($delete_path); 

	while(false !== ($entry = $dirs->read())) {
		if(($entry != '.') && ($entry != '..')) {
			if(is_dir($delete_path.'/'.$entry)) { 
				rmdir_all($delete_path.'/'.$entry); 
			} else { 
				@unlink($delete_path.'/'.$entry);
				} 
			} 
		}$dirs->close();
	@rmdir($delete_path);
}

폴더 들어가고 , 하위폴더 있는지 파악하고 없으면 파일 있는지 확인하고 있으면 있는 파일 차례대로 삭제하는 코드입니다.

 

보시면 아시겠지만, 함수사용시, $delete_path란에 경로 넣을때 마지막에 / 는 빼고 넣어주세요~

 

반응형