채택완료

폴더안에 있는 파일 삭제하기 문의

2018-01-31 (수) 12:59:19 2,609

특정 폴더의 파일을 삭제하려고 하는데요.

파일명을 하나씩 지우는것 말고 폴더안에 있는 모든 파일을 삭제하려면 어떻게 해야하는지요?

PHP코드 좀 알 수 있을까요?

삭제하려는 파일은 이미지 이지만 모두 삭제도 상관없어요.

아시는분 도움 좀 부탁드립니다.

|

답변 3개

채택된 답변
+20 포인트
2018-01-31 (수) 13:10:52

1) 디렉토리 삭제 

@rmdir("디렉토리경로"); //디렉토리내 파일들이 있으면 오류발생

2) 디렉토리 완전 삭제

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

$dir="디렉토리경로"; // 디렉토리경로 삽입

rmdirAll($dir); // 함수실행

검색을 아무리해도 안나오더니 질문 올리고 나서 검색하니 보이네요^^

아래것으로 하니 잘되어요.

devdev님, 하찌님, 슈와이님 세분 모두 답글 감사합니다.
채택은 제일 먼저 다시분을할게요^^;

<?
// 특정디렉토리에 모든 파일 삭제
 
$directory = "/www/upload";
$handle = opendir($directory); // 절대경로
while ($file = readdir($handle)) {
        @unlink($directory.$file);
}
closedir($handle);
?>

출처
http://chongmoa.com/php/28122

 $d = @dir($dir);
while ($entry = $d->read()) {
if ($entry == "." || $entry == "..") continue;
if (is_dir($entry)) delete_all($entry);
else unlink($dir."/".$entry);
}

$dir  에 디렉토리 경로입니다.

답변을 작성하려면 로그인이 필요합니다.