mkdir() — 새 디렉토리 생성
– 구문: bool mkdir (문자열 경로 이름 [,int 모드])
– 경로명으로 지정된 새 디렉토리를 생성해 보십시오.
rmdir() — 디렉토리 삭제
– 구문: bool rmdir (문자열 디렉토리 이름)
– dirname으로 지정된 디렉터리를 삭제하려고 시도합니다. 디렉터리는 비어 있어야 하며 적절한 권한이 있어야 합니다. 성공하면 TRUE를 반환하고, 실패하면
을 반환합니다.
거짓.
링크 해제 — 파일 삭제
– 구문: bool unlink ( 문자열 파일 이름 )
– 파일 이름을 삭제합니다. Unix C의 unlink() 함수와 유사합니다. 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
PHP에서는 mkdir() 함수를 사용하여 디렉터리 이름을 전달하기만 하면 쉽게 새 디렉터리를 만들 수 있습니다. 그러나 디렉토리를 삭제하는 데 사용되는 rmdir() 함수는 빈 디렉토리만 삭제할 수 있으며 해당 디렉토리가 존재해야 합니다. 비어 있지 않은 디렉토리인 경우 먼저 디렉토리에 들어가서 unlink() 함수를 사용하여 디렉토리의 모든 파일을 삭제한 다음 돌아와서 빈 디렉토리를 삭제해야 합니다. 디렉터리에 디렉터리가 아직 있고 하위 디렉터리가 비어 있지 않은 경우 재귀 방법을 사용해야 합니다. 디렉토리를 삭제하는 사용자 정의 재귀 함수의 프로그램 코드는 다음과 같습니다.
//전체 디렉토리를 재귀적으로 삭제하는 사용자 정의 함수
함수 delDir($directory){
If(file_exists($directory)){ //rmdir() 함수가 없으면 오류가 발생합니다
If($dir_handle = @opendir($directory)){ //디렉토리를 열고 성공적으로 열 수 있는지 확인
~ with($filename = readdir($dir_handle)){
If($filename != "."&& $filename != ".."){ //두 개의 특수 디렉토리를 제외해야 합니다
$subFile = $directory."/".$filename;
If(is_dir($subFile)) //디렉토리이면 조건은 true
Deldir ($ Subfile); // 자신만의 함수를 재귀적으로 호출하고, 하위 디렉터리를 삭제합니다.
If(is_file($subFile)) //파일이면 조건이 true
Unlink ($ subfile); // 이 파일을 직접 삭제합니다
}
}
closeir($dir_handle) //파일 리소스 닫기
rmdir($directory) //빈 디렉토리 삭제
}
}
}
dirDir("phpMyAdmin"); //delDir() 함수를 호출하여 프로그램이 위치한 디렉터리에서 "phpMyAdmin" 파일을 삭제합니다
?>
물론 운영 체제 명령 "rm-rf"를 호출하여 비어 있지 않은 디렉터리를 삭제할 수도 있지만 보안 및 크로스 플랫폼 고려 사항을 위해 이를 사용하지 않도록 노력해야 합니다.