Maison  >  Article  >  développement back-end  >  Comment supprimer des répertoires de manière récursive en php

Comment supprimer des répertoires de manière récursive en php

王林
王林original
2020-11-05 11:35:082356parcourir

Comment supprimer récursivement un répertoire en PHP : utilisez d'abord la fonction opendir pour ouvrir le handle du répertoire ; puis lisez l'entrée du handle du répertoire et utilisez la fonction readdir pour renvoyer le nom de fichier du fichier suivant dans le répertoire ; supprimez enfin le répertoire dans l’ordre et fermez simplement le handle du répertoire.

Comment supprimer des répertoires de manière récursive en php

Fonctions associées :

la fonction opendir() ouvre un handle de répertoire en cas de succès, la fonction renvoie un flux de répertoire, sinon elle renvoie false. et une erreur.

(Recommandations vidéo d'apprentissage associées : Tutoriel vidéo Java)

La fonction closedir() ferme le handle du répertoire. La fonction

readdir() renvoie le nom de fichier du fichier suivant dans le répertoire.

Exemple de code :

<?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); // 删除目录返回结果
    }

Recommandations associées : formation php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn