웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
서브디렉토리,파일까지 모두 삭제하는 함수.
2004.08.24 00:43
파일을 삭제하는 unlink 함수와
디렉토리를 삭제하는 rmdir 함수의 기능을 모두 가지고 있습니다.
rmdir 함수는 디렉토리 안에 서브디렉토리나 파일이 있을 경우 삭제가 불가능하지만,
$name 값이 파일이면 unlink로 지워주고, 디렉토리면 반복문을 사용해 하위구조와 해당 디렉토리를 모두 삭제해줍니다.
P.S - 비효율적이거나, 보완할 부분이 있다면 망설임 없이 태클 부탁드립니다.
<?
function delete_all($name){
if(is_dir($name)){
$ch=0;
$data_list = opendir($name);
while($file = readdir($data_list)){
if ($file != "." && $file != ".."){$ch++;}
}
closedir($data_list);
if($ch){
$data_list = opendir($name);
while($file = readdir($data_list)){
if ($file != "." && $file != ".."){delete_all($name."/".$file);}
}
closedir($data_list);
}
rmdir($name);
}
else{
unlink($name);
}
}
?>
디렉토리를 삭제하는 rmdir 함수의 기능을 모두 가지고 있습니다.
rmdir 함수는 디렉토리 안에 서브디렉토리나 파일이 있을 경우 삭제가 불가능하지만,
$name 값이 파일이면 unlink로 지워주고, 디렉토리면 반복문을 사용해 하위구조와 해당 디렉토리를 모두 삭제해줍니다.
P.S - 비효율적이거나, 보완할 부분이 있다면 망설임 없이 태클 부탁드립니다.
<?
function delete_all($name){
if(is_dir($name)){
$ch=0;
$data_list = opendir($name);
while($file = readdir($data_list)){
if ($file != "." && $file != ".."){$ch++;}
}
closedir($data_list);
if($ch){
$data_list = opendir($name);
while($file = readdir($data_list)){
if ($file != "." && $file != ".."){delete_all($name."/".$file);}
}
closedir($data_list);
}
rmdir($name);
}
else{
unlink($name);
}
}
?>
댓글 5
-
Simsim
2004.08.27 20:03
-
천상원
2004.08.28 15:49
이걸 php로 돌리면 서버에 부하를 많이줍니다. 그냥 쉘로 돌리시는게 나을듯. -
Lepas
2004.08.29 11:42
윈도 서버일 경우를 생각하셔야죠. -
앳플군
2004.08.30 23:01
if (eregi("WIN", $OS)) {
`deltree target`;
} else {
`rm -rf target`;
} -
Lepas
2004.08.24 09:41
만들어놓고 나서 찾아보니..
이런 함수가 이미 있었네요... 쩝;; 헛고생했..ㅠ_ㅜ;;
http://kr.php.net/manual/kr/function.rmdir.php
function deldir($dir)
{
$handle = opendir($dir);
while (false!==($FolderOrFile = readdir($handle)))
{
if($FolderOrFile != "." && $FolderOrFile != "..")
{
if(is_dir("$dir/$FolderOrFile"))
{ deldir("$dir/$FolderOrFile"); } // recursive
else
{ unlink("$dir/$FolderOrFile"); }
}
}
closedir($handle);
if(rmdir($dir))
{ $success = true; }
return $success;
}
제목 | 글쓴이 | 날짜 |
---|---|---|
XE 위키 댓글 삭제 오류수정 [1] | 뒤뒤 | 2013.08.03 |
[애드온]글 , 댓글 삭제시 휴지통으로 보내기 [13] | 민채아빠 | 2013.01.16 |
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 | 조슈아킴 | 2013.02.14 |
Admin 페이지에서 사이트맵 삭제가 안될 때 | FontBox | 2012.10.06 |
게시판 확장변수 설명 삭제 안 되는 버그 해결방법 | sejin7940 | 2012.08.30 |
회원가입폼 비밀번호 찾기 질문/답변 삭제및 필수항목 선택 (송동우님 팁) | 때린데 또때려 | 2012.04.08 |
bodex 게시판 댓글 삭제 안 되는 문제(해결) | NA답답이 | 2012.01.28 |
관리권한 가져도 댓글이 수정/삭제 안 되는 경우.. [4] | sejin7940 | 2011.02.14 |
삭제문제~ [2] | 달맞이꽃 | 2007.08.15 |
사용자 계정 자동 삭제 (servu4.0) | 이성헌 | 2005.12.15 |
서버의 지워지지 않는 파일삭제 - 명령어 | 이성헌 | 2005.12.15 |
[계정삭제 스크립터] 편리님이 만드신 계정추가랑 연동됩니다. [4] | 김동현 | 2002.12.04 |
리눅스 mysql 사용자 계정주기/삭제하기 [4] | 정인배 | 2002.11.22 |
[Lindox] 실수로 기본 명령어삭제시 강제 복구하기 | NeSTY♨™ | 2002.11.05 |
특정 파일(ex: mp3,avi,mpg)만 찾아서 자동으로 삭제하기! | 임현 | 2002.06.27 |
MySQL DB(디비)와 Table(테이블) Delete(삭제/초기화)하는 방법 [16] | 차카게살자 | 2002.01.01 |
웹 계정에서 지워지지 않는 폴더 및 파일 삭제하는 방법 [3] | Rising.kr | 2008.01.24 |
[PHP 동영상강의] 38. 삭제시 비밀번호 물어보기 [6] | 서기 | 2006.01.26 |
[PHP 동영상강의] 33. 자료를 삭제해보자. [6] | 서기 | 2006.01.12 |
서브디렉토리,파일까지 모두 삭제하는 함수. [5] | Lepas | 2004.08.24 |
대략 압박.. 수고하셨어요