PHP에서 비어 있지 않은 디렉터리를 삭제하는 방법: 먼저 delDir 함수를 사용자 정의한 다음 디렉터리를 탐색하고 디렉터리의 파일이나 폴더를 읽은 다음 디렉터리의 파일을 현재 디렉터리에 연결하여 삭제합니다. 하위 디렉터리를 삭제하고 "rmdir" 기능을 사용하여 빈 디렉터리를 삭제하세요.
php rmdir은 재귀 함수를 사용하여 비어 있지 않은 디렉터리를 삭제합니다
우리 모두는 php rmdir() 함수가 빈 디렉터리를 삭제하는 데 사용된다는 것을 알고 있지만, 비어 있지 않은 디렉터리를 삭제하려는 경우 , 파일이나 하위 디렉터리 삭제에 비어 있지 않은 디렉터리를 추가해야 합니다. 이 문서에서는 비어 있지 않은 디렉터리를 삭제하기 위해 PHP에서 재귀 함수를 사용하는 방법을 소개합니다.
먼저 rmdir() 함수를 소개하겠습니다.
php rmdir() 함수
rmdir — 빈 디렉터리 삭제
권장: "PHP Tutorial"
구문:
bool rmdir ( string $dirname [, resource $context ] )
dirname으로 지정된 디렉터리를 삭제해 보세요. 디렉터리는 비어 있어야 하며 적절한 권한이 있어야 합니다. 실패 시 E_WARNING 수준 오류가 생성됩니다.
매개변수:
dirname: 디렉터리 경로입니다.
컨텍스트: PHP 5.0.0에 컨텍스트에 대한 지원이 추가되었습니다.
php rmdir()은 비어 있지 않은 디렉토리를 삭제합니다
위에서 언급한 것처럼 rmdir() 함수는 비어 있지 않은 디렉토리만 삭제할 수 있습니다. 비어 있지 않은 디렉토리인 경우 먼저 디렉토리를 입력하고 unlink()를 사용해야 합니다. 디렉터리의 각 파일을 삭제하는 기능입니다. 모든 파일을 삭제한 다음 돌아와서 빈 디렉터리를 삭제합니다. 디렉터리에 하위 디렉터리가 있고 디렉터리가 비어 있지 않은 경우 재귀적 방법을 사용해야 합니다. 디렉토리를 삭제하는 사용자 정의 재귀 함수의 소스 코드는 다음과 같습니다.
<?php /* by http://www.manongjc.com/article/27.html*/ function delDir($directory){//自定义函数递归的函数整个目录 if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错 if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功 while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹 if($filename!='.' && $filename!='..'){//一定要排除两个特殊的目录 $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 중국어 웹사이트의 기타 관련 기사를 참조하세요!