Maison >développement back-end >Problème PHP >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-07-31 09:55:002686parcourir

Comment supprimer récursivement un répertoire en php : créez d'abord un exemple de fichier PHP ; puis obtenez le chemin du fichier via la méthode "DATA_DIR .'/compiled/';" puis listez les fichiers et répertoires ; et enfin utiliser la méthode récursive pour supprimer le répertoire suffit.

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

Recommandé : "Tutoriel vidéo PHP"

php supprimer récursivement les répertoires

Tout d'abord, vous devez savoir ce qu'est la récursivité, afin qu'il soit facile de lire et d'écrire du code récursif plus tard

Le code récursif répertorié ci-dessous consiste à supprimer le répertoire de fichiers. Vous pouvez apporter de légères modifications pour afficher le fichier. Et le code du répertoire

est le suivant :

public function clear(){
    $compile  = DATA_DIR .'/compiled/';  //指文件所在路径
    _rmdir($compile,1);
 }
// 列出文件和目录
function _scandir($dir) {
    if(function_exists('scandir')) return scandir($dir);   // 有些服务器禁用了scandir
    $dh = opendir($dir);
    $arr = array();
    while($file = readdir($dh)) {
        if($file == '.' || $file == '..') continue;
        $arr[] = $file;
    }
    closedir($dh);
    return $arr;
}
// 递归删除目录
function _rmdir($dir, $keepdir = 0) {
    if(!is_dir($dir) || $dir == '/' || $dir == '../') return FALSE;    // 避免意外删除整站数据
    $files = _scandir($dir);
    foreach($files as $file) {
        if($file == '.' || $file == '..') continue;
        $filepath = $dir.'/'.$file;
        if(!is_dir($filepath)) {
            try{unlink($filepath);}catch(Exception $e){}
        }else{
            _rmdir($filepath);
        }
    }
    if(!$keepdir) try{rmdir($dir);}catch(Exception $e){}
    return TRUE;
}

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