Maison >développement back-end >Problème PHP >Comment supprimer des répertoires de manière récursive en php
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.
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!