ホームページ >バックエンド開発 >PHPの問題 >PHPでディレクトリを再帰的に削除する方法

PHPでディレクトリを再帰的に削除する方法

王林
王林オリジナル
2020-11-05 11:35:082481ブラウズ

php メソッドを使用してディレクトリを再帰的に削除します。まず、opendir 関数を使用してディレクトリ ハンドルを開き、次にディレクトリ ハンドルからエントリを読み取り、readdir 関数を使用してディレクトリ内の次のファイルのファイル名を返します。ディレクトリ; 最後にディレクトリを順番に削除し、ディレクトリ ハンドルを閉じるだけです。

PHPでディレクトリを再帰的に削除する方法

関連関数:

opendir() 関数はディレクトリ ハンドルを開きます。成功した場合、この関数はディレクトリ ストリームを返し、それ以外の場合は false を返します。そしてエラー。

(関連する学習ビデオの推奨事項: java ビデオ チュートリアル )

closedir() 関数は、ディレクトリ ハンドルを閉じます。

readdir() 関数は、ディレクトリ内の次のファイルのファイル名を返します。

コードサンプル:

<?php

    //递归删除目录
    $path = "D:/a";
    //调用递归函数
    $res = diGUiRmDir($path);
    //输出结果
    var_dump($res);

    function diGUiRmDir($path){

        //打开目录句柄
        $handle = opendir($path);

        //readdir() 从目录句柄中读取条目
        //返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
        while(false !== $filename = readdir($handle)){
            if ($filename ==&#39;.&#39; || $filename ==&#39;..&#39;) {  //跳过 . ..文件夹
                continue;
            }

            //判断是否为目录
            if (is_dir($path.&#39;/&#39;.$filename)) {
                $current_func = __FUNCTION__;
                //是目录,递归删除
                $current_func = ($path.&#39;/&#39;.$filename);
            }else{
                //是文件,删除
                unlink($path.&#39;/&#39;.$filename); //unlink() 删除文件 返回bool
            }
        }
        //目录删除完毕
        closedir($handle); //关闭目录句柄
        return rmdir($path); // 删除目录返回结果
    }

関連する推奨事項:phpトレーニング

以上がPHPでディレクトリを再帰的に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。