发布网友 发布时间:2022-04-06 01:51
共5个回答
懂视网 时间: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
//递归删除所有文件夹
function delDirAndFile( $dirName ){
if ( @$handle = opendir( "$dirName" ) ) {
while ( false !== ( $item = readdir( $handle ) ) ) {
if ( $item != "." && $item != ".." ) {
if ( is_dir( "$dirName/$item" ) ) {
delDirAndFile( "$dirName/$item" );
} else {
if( unlink( "$dirName/$item" ) ){
echo "成功删除文件: $dirName/$item".'<br>';
}
}
}
}
closedir( $handle );
if( rmdir( "$dirName/$item" ) ){
echo "成功删除目录:$dirName".'<br>';
}
}else{
echo "文件夹不存在!";
}
}
热心网友 时间:2022-04-06 04:38
function deleteAll($path) {
$op = dir($path);
while(false != ($item = $op->read())) {
if($item == '.' || $item == '..') {
continue;
}
if(is_dir($op->path.'/'.$item)) {
deleteAll($op->path.'/'.$item);
rmdir($op->path.'/'.$item);
} else {
unlink($op->path.'/'.$item);
}
}
}
热心网友 时间:2022-04-06 06:13
存在一点小问题:
function check($path){目录路径没对上
热心网友 时间:2022-04-06 08:04
function deleteRecursive($path)
{
$op = dir($path);
while ($item = $op->read()) {
if ($item == '.' || $item == '..') {
continue;
} else if (is_dir($op->path . '/' . $item)) {
deleteRecursive($op->path . '/' . $item);
} else {
unlink($op->path . '/' . $item);
}
}
rmdir($path);
}
这样写更好