파일을 삭제하는 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);
        }
}

?>