>  기사  >  백엔드 개발  >  PHP에서 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

PHP에서 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-11-05 14:08:592975검색

PHP에서 디렉토리의 모든 파일을 삭제하는 방법: 먼저 scandir() 함수를 사용하여 디렉토리의 모든 파일을 탐색하고 배열을 반환한 다음 foreach를 사용하여 배열을 탐색하고 unlink() 및 rmdir( ) foreach의 함수는 모든 하위 디렉터리와 파일을 삭제합니다.

PHP에서 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !

php는 디렉토리의 모든 파일을 삭제합니다

PHP를 사용하여 디렉토리의 모든 디렉토리와 파일을 탐색하고 디렉토리와 해당 디렉토리의 모든 하위 디렉토리와 파일을 삭제합니다.

주로 사용되는 함수:

  • scandir($path)는 디렉토리의 모든 파일을 순회하고 배열을 반환합니다.

  • unlink($filename)은 파일을 삭제합니다.

  • rmdir($path)은 빈 폴더만 삭제합니다.

PHP 코드:

/**
 * 删除当前目录及其目录下的所有目录和文件
 * @param string $path 待删除的目录
 * @note  $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])
 */
function deleteDir($path) {

    if (is_dir($path)) {
        //扫描一个目录内的所有目录和文件并返回数组
        $dirs = scandir($path);

        foreach ($dirs as $dir) {
            //排除目录中的当前目录(.)和上一级目录(..)
            if ($dir != '.' && $dir != '..') {
                //如果是目录则递归子目录,继续操作
                $sonDir = $path.'/'.$dir;
                if (is_dir($sonDir)) {
                    //递归删除
                    deleteDir($sonDir);

                    //目录内的子目录和文件删除后删除空目录
                    @rmdir($sonDir);
                } else {

                    //如果是文件直接删除
                    @unlink($sonDir);
                }
            }
        }
        @rmdir($path);
    }
}

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !

위 내용은 PHP에서 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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