欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂詳解php如何刪除指定文件夾及代碼

2018-02-01 13:31:34 1556瀏覽

  今天扣丁學(xué)堂給大家總結(jié)帶來(lái)一篇php刪除指定文件夾的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望能幫助到大家。

1、前言

目標(biāo):php刪除一個(gè)指定目錄,所使用的的php函數(shù):is_dir,opendir,readdir,scandir,rmdir,closedir,等等(注:其他文件操作函數(shù)也可以完成,這里只列舉了本次使用的函數(shù))

2、相關(guān)函數(shù)介紹

php文件操作的方法大致相同,已經(jīng)在上一篇介紹過(guò)了,這里就不在重復(fù)介紹,這里就介紹一個(gè)新函數(shù)

rmdir



3、代碼構(gòu)成

*[delAllFiledescription]刪除指定目錄

*@param[type]$dirName[description]目錄

*@param[type]$file[description]記錄的過(guò)程文件

*@paraminteger$type[description]第一次默認(rèn)打開(kāi)新文件,第二次調(diào)用不打開(kāi)

*@return[type][description]

*/

publicfunctiondelAllFile($dirName,$file,$type=1){

$re=$this->checkDir($dirName);

//默認(rèn)第一次打開(kāi)文件

if($type){

$file=fopen($file,'w');//打開(kāi)日志文件

}

if($re){

$this->delFile($dirName,$file);

}else{

fwrite($file,"{$dirName}清理完成\r\n");

}

}

?/**

*[checkDirdescription]檢測(cè)文件夾是否為空,為空直接刪除

*@param[type]$dirName[description]文件夾名

*@return[type][description]

*/

privatefunctioncheckDir($dirName){

$a=scandir($dirName);//列出images目錄中的文件和目錄:

//只包含.和..目錄的文件夾為空文件夾

if(sizeof($a)==2){

rmdir($dirName);

returnfalse;

}

returntrue;

}

/**

*[delFiledescription]上傳文件的方法

*@param[type]$dirName[description]目錄

*@param[type]$file[description]記錄的文件

*@return[type][description]

*/

privatefunctiondelFile($dirName,$file){

$dh=openDir($dirName);

while($handle=readdir($dh)){

if($handle=='.'||$handle=='..'){

continue;

}

$resource=$dirName.'/'.$handle;

//判斷是否是文件夾

if(is_dir($resource)){

//判斷文件夾是否為空

$re=$this->checkDir($dirName);

if($re){

$this->delAllFile($resource,$file,0);

}else{

fwrite($file,"{$resource}清理完成\r\n");

continue;

}

}else{

unlink($resource);

}

}

//關(guān)掉資源,刪除目錄

closedir($dh);//關(guān)閉目錄資源

fwrite($file,"{$dirName}清理完成\r\n");

rmdir($dirName);//刪除空目錄

}

然而,上面的代碼遇到子目錄層級(jí)高的時(shí)候,就容易出現(xiàn)一個(gè)警告,導(dǎo)致目錄無(wú)法刪除


故對(duì)于層級(jí)高的子集,需要在最后加上一個(gè)循環(huán)判斷,來(lái)判斷是否可以刪除,來(lái)避免這個(gè)錯(cuò)誤

////關(guān)掉資源,刪除目錄

//closedir($dh);//關(guān)閉目錄資源

//fwrite($file,"{$dirName}清理完成\r\n");

//rmdir($dirName);//刪除空目錄

//每次目錄層級(jí)高了就報(bào)錯(cuò),故加個(gè)循環(huán)處理

$i=1;

while($i){

$re=$this->checkDir($dirName);

echo"$dirName$i次

";

$i++;

if(!$re){

$i=0;

closedir($dh);//關(guān)閉目錄資源

fwrite($file,"{$dirName}清理完成\r\n");

}

}

加上這層可以避免無(wú)法刪除的情況(有時(shí)候刪不掉是權(quán)限的問(wèn)題)

4、結(jié)語(yǔ)

刪除一個(gè)目錄相對(duì)比較簡(jiǎn)單,基本步驟為:

1、判斷是否是目錄,是目錄則遞歸調(diào)用自己,否則直接刪除文件;

2、判斷目錄是否為空,不為空rmdir會(huì)拋出錯(cuò)誤;

3、文件權(quán)限的問(wèn)題(window,這個(gè)不是什么問(wèn)題)

以上就是詳解php如何刪除指定文件夾詳細(xì)內(nèi)容的介紹,希望對(duì)大家有幫助,最后想要了解更多關(guān)于PHP開(kāi)發(fā)發(fā)展前景趨勢(shì),請(qǐng)關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的PHP培訓(xùn)視頻教程系統(tǒng),通過(guò)千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門(mén)到精通開(kāi)發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂PHP開(kāi)發(fā)工程師技術(shù)交流群:374332265。



扣丁學(xué)堂微信公眾號(hào)



關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料



查看更多關(guān)于“php培訓(xùn)資訊的相關(guān)文章>>

標(biāo)簽: PHP培訓(xùn) PHP視頻教程 PHP從入門(mén)到精通 PHP學(xué)習(xí)路線圖 PHP開(kāi)發(fā)工程師

熱門(mén)專區(qū)

暫無(wú)熱門(mén)資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部