웹개발 - PHP 프로그램 개발 강의
글수 707
파일을 삭제하는 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);
}
}
?>
2004.08.30 23:01:04 (*.102.95.226)
if (eregi("WIN", $OS)) {
`deltree target`;
} else {
`rm -rf target`;
}
`deltree target`;
} else {
`rm -rf target`;
}
2004.08.24 09:41:16 (*.198.229.202)
만들어놓고 나서 찾아보니..
이런 함수가 이미 있었네요... 쩝;; 헛고생했..ㅠ_ㅜ;;
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;
}
이런 함수가 이미 있었네요... 쩝;; 헛고생했..ㅠ_ㅜ;;
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;
}



대략 압박.. 수고하셨어요