Maison >développement back-end >tutoriel php >Utilisez PHP pour parcourir et supprimer un répertoire et tous les fichiers stockés dans ce répertoire

Utilisez PHP pour parcourir et supprimer un répertoire et tous les fichiers stockés dans ce répertoire

little bottle
little bottleavant
2019-04-19 15:18:022907parcourir

Cet article parle principalement de l'utilisation de PHP pour parcourir tous les répertoires et fichiers d'un répertoire, et supprimer le répertoire et tous les sous-répertoires et fichiers du répertoire. Ce code est implémenté de manière récursive. Amis intéressés, découvrons-le.

Fonction utilisée :

scandir($path) parcourt tous les fichiers d'un répertoire et renvoie un tableau.
unlink($filename) supprime le fichier.
rmdir($path) supprime uniquement les dossiers vides.

Code 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);
    }
}

Tutoriels associés : Tutoriel vidéo 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer