>백엔드 개발 >PHP 문제 >php rmdir을 사용하여 비어 있지 않은 디렉토리를 삭제하는 방법

php rmdir을 사용하여 비어 있지 않은 디렉토리를 삭제하는 방법

藏色散人
藏色散人원래의
2021-03-25 09:18:172880검색

php rmdir을 사용하여 비어 있지 않은 디렉터리를 삭제하는 방법: 먼저 PHP 샘플 파일을 만든 다음 "function delDir($directory){...}" 메서드를 사용하여 비어 있지 않은 디렉터리를 반복적으로 삭제합니다.

php rmdir을 사용하여 비어 있지 않은 디렉토리를 삭제하는 방법

이 글의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php rmdir은 재귀 함수를 사용하여 비어 있지 않은 디렉터리 인스턴스를 자세히 삭제합니다.

먼저, 소개하겠습니다. rmdir() 함수.

php rmdir() 함수

rmdir — 빈 디렉터리 삭제

구문:

bool rmdir ( string $dirname [, resources $context ] )

다음에서 지정한 디렉터리를 삭제해 보세요. 디렉토리 이름 . 디렉터리는 비어 있어야 하며 적절한 권한이 있어야 합니다. 실패 시 E_WARNING 수준 오류가 생성됩니다.
매개변수:

1.dirname: 디렉터리 경로입니다.
2.context: PHP 5.0.0에 컨텍스트에 대한 지원이 추가되었습니다.

php rmdir()은 비어 있지 않은 디렉터리를 삭제합니다.

위에서 언급한 것처럼 rmdir() 함수는 비어 있지 않은 디렉터리인 경우에만 디렉터리를 입력하고 사용해야 합니다. unlink() 함수를 사용하여 디렉터리의 모든 파일을 삭제한 다음 돌아와서 빈 디렉터리를 삭제합니다. 디렉터리에 하위 디렉터리가 있고 디렉터리가 비어 있지 않은 경우 재귀적 방법을 사용해야 합니다. 디렉토리를 삭제하는 사용자 정의 재귀 함수의 소스 코드는 다음과 같습니다.

<?php
function delDir($directory){//自定义函数递归的函数整个目录
  if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错
    if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功
      while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹
        if($filename!=&#39;.&#39; && $filename!=&#39;..&#39;){//一定要排除两个特殊的目录
          $subFile=$directory."/".$filename;//将目录下的文件与当前目录相连
          if(is_dir($subFile)){//如果是目录条件则成了
            delDir($subFile);//递归调用自己删除子目录
          }
          if(is_file($subFile)){//如果是文件条件则成立
            unlink($subFile);//直接删除这个文件
          }
        }
      }
      closedir($dir_handle);//关闭目录资源
      rmdir($directory);//删除空目录
    }
  }
}

delDir("mydir");//调用delDir函数

?>

비어 있지 않은 디렉토리의 재귀 삭제를 처리하는 것 외에도 운영 체제 명령 "rm -rf"를 사용하여 비어 있지 않은 디렉토리를 삭제할 수도 있습니다. 하지만 보안 및 크로스 플랫폼 측면도 고려해야 합니다.

【추천 학습: PHP 비디오 튜토리얼

위 내용은 php rmdir을 사용하여 비어 있지 않은 디렉토리를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.