发布网友 发布时间:2022-04-06 01:51
共2个回答
懂视网 时间:2022-04-06 06:12
php删除多级目录的方法:使用deltree函数的方法,代码为【function deltree($pathdir) if(is_empty_dir($pathdir)){rmdir($pathdir)}】。
php删除多级目录的方法:
deltree($path);rmdir($path)才能删除这个目录能
function deltree($pathdir) { echo $pathdir;//我调试时用的 if(is_empty_dir($pathdir))//如果是空的 { rmdir($pathdir);//直接删除 } else {//否则读这个目录,除了.和..外 $d=dir($pathdir); while($a=$d->read()) { if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);} //如果是文件就直接删除 if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..')) {//如果是目录 if(!is_empty_dir($pathdir.'/'.$a))//是否为空 {//如果不是,调用自身,不过是原来的路径+他下级的目录名 deltree($pathdir.'/'.$a); } if(is_empty_dir($pathdir.'/'.$a)) {//如果是空就直接删除 rmdir($pathdir.'/'.$a); } } } $d->close(); echo "必须先删除目录下的所有文件";//我调试时用的 } } function is_empty_dir($pathdir) {//判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空,PHP有没有给出什么 函数? $d=opendir($pathdir); $i=0; while($a=readdir($d)) { $i++; } closedir($d); if($i>2){return false;} else return true; }
想了解更多编程学习,敬请关注php培训栏目!
热心网友 时间:2022-04-06 03:20
对于一个不是空的目录丹但要删除它怎么办?思路是先必须将该目录下的子文件都删除,让它变成一个空目录,然后再用rmdir()函数删除即可。而该目录下的子目录如果不是空也要用这样的方法来删除才行。php删除目录代码示例精简、稳定、调用方便,支持多级目录删除,代码如下:<?php//删除目录函数function del_dir($DelPath){$wm_chief = new del_directory();$wm_chief_ok = $wm_chief -> wm_chief_delpath($DelPath);return $wm_chief_ok;}//删除目录class del_directory{function wm_chief_delpath($del_path){if(!file_exists($del_path)){ //目标目录不存在则建立echo "Directory not found."; return false;}$hand = @opendir($del_path);$i = 0;while($file = @readdir($hand)){$i++;if($file!="." && $file!=".."){//目录if(is_dir($del_path."/".$file)){$del_s_path = $del_path."/".$file;$this -> wm_chief_delpath($del_s_path);}else{$del_file = $del_path."/".$file;$this -> wm_chief_file($del_file);}}}@closedir($hand);>