특정 폴더의 파일을 삭제하려고 하는데요.
파일명을 하나씩 지우는것 말고 폴더안에 있는 모든 파일을 삭제하려면 어떻게 해야하는지요?
PHP코드 좀 알 수 있을까요?
삭제하려는 파일은 이미지 이지만 모두 삭제도 상관없어요.
아시는분 도움 좀 부탁드립니다.
답변 3개
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);
?>
$d = @dir($dir);
while ($entry = $d->read()) {
if ($entry == "." || $entry == "..") continue;
if (is_dir($entry)) delete_all($entry);
else unlink($dir."/".$entry);
}
$dir 에 디렉토리 경로입니다.
답변을 작성하려면 로그인이 필요합니다.