明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

如何刪除多級(jí)目錄

[摘要]昨天看見(jiàn)一個(gè)貼子(chinaasp)問(wèn)怎么刪除目錄,以前一直可以,但昨天出了問(wèn)題,原來(lái)他只是把他下級(jí)的文件刪了后就刪 目錄所以如果多幾級(jí)就有問(wèn)題。 我的這個(gè)只能暫時(shí)湊活著用,如果你的目錄沒(méi)有十幾層的話應(yīng)該沒(méi)有問(wèn)題的吧~,但我不熟悉遞歸只能做到 deltree(path);rmdir(path)才能...
昨天看見(jiàn)一個(gè)貼子(chinaasp)問(wèn)怎么刪除目錄,以前一直可以,但昨天出了問(wèn)題,原來(lái)他只是把他下級(jí)的文件刪了后就刪

目錄所以如果多幾級(jí)就有問(wèn)題。

我的這個(gè)只能暫時(shí)湊活著用,如果你的目錄沒(méi)有十幾層的話應(yīng)該沒(méi)有問(wèn)題的吧~,但我不熟悉遞歸只能做到

deltree($path);rmdir($path)才能刪除這個(gè)目錄能不能做到直接deltree($path);就刪除這個(gè)目錄??

function deltree($pathdir)
{
echo $pathdir;//我調(diào)試時(shí)用的

if(is_empty_dir($pathdir))//如果是空的
    {
    rmdir($pathdir);//直接刪除
    }
    else
    {//否則讀這個(gè)目錄,除了.和..外
        $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))//是否為空
            {//如果不是,調(diào)用自身,不過(guò)是原來(lái)的路徑+他下級(jí)的目錄名
            deltree($pathdir.'/'.$a);
            }
            if(is_empty_dir($pathdir.'/'.$a))
            {//如果是空就直接刪除
            rmdir($pathdir.'/'.$a);
            }
        }
        }
        $d->close();
         
    echo "必須先刪除目錄下的所有文件";//我調(diào)試時(shí)用的
     
    }

}

function is_empty_dir($pathdir)
{//判斷目錄是否為空,我的方法不是很好吧?只是看除了.和..之外有其他東西不是為空,PHP有沒(méi)有給出什么

函數(shù)?
$d=opendir($pathdir);
$i=0;
    while($a=readdir($d))
    {
    $i++;
    }
closedir($d);
if($i>2){return false;}
else return true;
}  




相關(guān)文章