Maison  >  Article  >  développement back-end  >  Comment supprimer des fichiers de répertoire en utilisant la fonction rmdir en php

Comment supprimer des fichiers de répertoire en utilisant la fonction rmdir en php

不言
不言original
2019-01-10 17:48:503404parcourir

La fonction que PHP doit utiliser pour supprimer un répertoire est rmdir est une fonction qui supprime un répertoire spécifié et est une fonction couramment utilisée. utilisation spécifique de la fonction rmdir.

Comment supprimer des fichiers de répertoire en utilisant la fonction rmdir en php

Regardons d'abord la syntaxe de base de la fonction rmdir

Passons le nom du répertoire (chemin d'accès au répertoire) en tant que paramètre.

rmdir(目录名称);

Si un répertoire ne peut pas être supprimé car aucun répertoire n'a été spécifié, veuillez noter qu'une erreur de niveau e_warning se produira.

De plus, s'il y a des fichiers ou d'autres répertoires dans le répertoire spécifié dans rmdir, le répertoire spécifié ne peut pas être supprimé dans rmdir.

Lors de l'exécution de cette opération, vous devez vider une fois le répertoire spécifié, puis supprimer à nouveau le répertoire à l'aide de rmdir.

Comment utiliser la fonction rmdir ?

Regardons un exemple spécifique

mkdir('sample');
if (is_dir('sample')) {
    $files = array_diff(scandir('sample'), array('.','..'));
    if (empty($files)) {
        echo "删除目录:sample\n";
        rmdir('sample');
    }
}

Dans l'exemple de programme, utilisez d'abord la fonction mkdir pour créer l'exemple de répertoire.

Avant d'exécuter réellement la fonction rmdir, vous devez vérifier "l'existence du répertoire spécifié" et "si le répertoire spécifié est vide".

Ne pas le faire peut provoquer des erreurs lors de l'exécution de la fonction rmdir.

Supprimer les répertoires non vides

S'il y a des fichiers ou d'autres répertoires dans le répertoire spécifié dans rmdir, le répertoire spécifié ne peut pas être supprimé dans rmdir.

Par conséquent, si vous souhaitez supprimer un répertoire non vide, vous devez supprimer tous les autres répertoires et fichiers du répertoire spécifié, puis les supprimer à nouveau à l'aide de la fonction rmdir.

Regardons un exemple spécifique

//
function remove_directory($dir) {
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
//
        if (is_dir("$dir/$file")) {
//
            remove_directory("$dir/$file");
        } else {
//
            unlink("$dir/$file");
            echo "目录:" . $dir . "/" . $file . "删除\n";
        }
    }
//
    echo "目录:" . $dir . "删除\n";
    return rmdir($dir);
}
//
//
mkdir('test1');
mkdir('test1/test2');
touch('test1/test2/test3');
//
//
remove_directory('test1');

Dans l'exemple de programme, nous définissons d'abord une fonction appelée remove_directory.

Cette fonction remove_directory vérifie le contenu du répertoire spécifié. S'il n'y a pas de contenu, le répertoire spécifié sera supprimé. S'il y a du contenu, il sera traité en fonction des modifications du contenu.

Dans la troisième ligne, vous obtiendrez le groupe de fichiers (un autre répertoire et un autre fichier) dans le répertoire spécifié, pour chaque groupe de fichiers des lignes 4 à 14, utilisez la fonction unlink pour supprimer le fichier s'il s'agit d'un répertoire , veuillez appeler à nouveau la fonction remove_directory.

Enfin, à la ligne 17, supprimez le répertoire spécifié devenu vide à l'aide de la fonction rmdir.

Créez un répertoire non vide sur les lignes 20 à 23.

La ligne 26 utilise la fonction remove_directory pour supprimer les répertoires non vides.

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