디렉토리내의 모든 파일 일괄 삭제하기

프로그래밍/PHP 2006/07/10 15:51
////////////////////////////////////////////////////////////////////////////
//                           디렉토리 삭제하기
//
// 사용법 : directoryDelete('삭제할 디렉토리경로')
/////////////////////////////////////////////////////////////////////////////
function directoryDelete($dir
)
{
   if(
substr($dir, -1)!='/') { $dir = $dir.'/'
; }
   else { 
$dir = $dir
; }

   if(
is_dir($dir
)) {
       if (
$dh = opendir($dir
)) {
           
$i = 0
;
           while ((
$file = readdir($dh)) !== false
)
           {
               if((
$file!='.' && $file!='..') && (filetype($dir . $file)!='dir'
)) {
                   
$filename[$i] = $file
;
                   
$i
++;
               }
           }
           
closedir($dh
);
       }
       
       for(
$ii = 0 ; $ii < $i ; $ii
++)
       {
           if(!
unlink($dir . $filename[$ii])){ echo "파일삭제실패"
; exit; }
       }
       
rmdir($dir
);
   } else {
       return
false
;
   }
}

문제점...
역시 디렉토리가 있다면 삭제되지 않는다(파일만 삭제됨)
또한 디렉토리가 있다면 자기자신의 디렉토리 또한 삭제되지 않는다.

해결법...
재귀호출을 이용해서 적용하면 될 것임(조만간 해결 해야겠음;;;)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이젠