久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php 刪除指定文件夾的實例講解

下面小編就為大家帶來一篇php 刪除指定文件夾的實例講解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、前言

目標:php刪除一個指定目錄

所使用的的php函數:is_dir,opendir,readdir,scandir,rmdir,closedir,等等(注:其他文件操作函數也可以完成,這里只列舉了本次使用的函數)

2、相關函數介紹

php文件操作的方法大致相同,已經在上一篇介紹過了,這里就不在重復介紹,這里就介紹一個新函數

rmdir

php 刪除指定文件夾的實例講解

詳情參考:http://www.w3school.com.cn/php/func_filesystem_rmdir.asp

3、代碼構成

**
 * [delAllFile description] 刪除指定目錄
 * @param [type] $dirName [description] 目錄
 * @param [type] $file [description] 記錄的過程文件
 * @param integer $type [description] 第一次默認打開新文件,第二次調用不打開
 * @return [type]   [description]
 */
public function delAllFile($dirName, $file, $type = 1) {
 $re = $this->checkDir($dirName);
 //默認第一次打開文件
 if($type){
 $file = fopen($file, 'w');//打開日志文件
 }
 if($re){
 $this->delFile($dirName, $file);
 }else{
 fwrite($file,"{$dirName}清理完成\r\n");
 }
}

/**
 * [checkDir description] 檢測文件夾是否為空,為空直接刪除
 * @param [type] $dirName [description] 文件夾名
 * @return [type]   [description]
 */
private function checkDir($dirName) {
 $a = scandir($dirName);//列出 images 目錄中的文件和目錄:
 //只包含.和..目錄的文件夾為空文件夾
 if(sizeof($a) == 2){
 rmdir($dirName);
 return false;
 }
 return true;
}
/**
 * [delFile description] 上傳文件的方法
 * @param [type] $dirName [description] 目錄
 * @param [type] $file [description] 記錄的文件
 * @return [type]   [description]
 */
private function delFile($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);
 }
 }
 
 //關掉資源,刪除目錄
 closedir($dh);//關閉目錄資源 
 fwrite($file,"{$dirName}清理完成\r\n");
 rmdir($dirName);//刪除空目錄 
}

然而,上面的代碼遇到子目錄層級高的時候,就容易出現一個警告,導致目錄無法刪除

php 刪除指定文件夾的實例講解

故對于層級高的子集,需要在最后加上一個循環判斷,來判斷是否可以刪除,來避免這個錯誤

// //關掉資源,刪除目錄
// closedir($dh);//關閉目錄資源 
// fwrite($file,"{$dirName}清理完成\r\n");
//rmdir($dirName);//刪除空目錄 
 
//每次目錄層級高了就報錯,故加個循環處理
$i = 1;
while($i){
 $re = $this->checkDir($dirName);
 echo "$dirName $i 次<br/><hr/>";
 $i++;
 if(!$re){
  $i = 0;
  closedir($dh);//關閉目錄資源 
  fwrite($file,"{$dirName}清理完成\r\n");  
 }
}

加上這層可以避免無法刪除的情況(有時候刪不掉是權限的問題)

4、結語

刪除一個目錄相對比較簡單,基本步驟為:

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

2、判斷目錄是否為空,不為空 rmdir會拋出錯誤;

3、文件權限的問題(window,這個不是什么問題)

以上這篇php 刪除指定文件夾的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 国产玖玖 | 精品综合视频 | 午夜免费看视频 | 欧美一级片在线 | 国产精品一区二区三区四区 | 国产91在线 | 亚洲 | 91精品综合久久久久久五月天 | 国产亚洲精品91 | 亚洲毛片在线 | 免费观看一级毛片 | 欧美日韩国产三级 | 国产98色在线 | 黄色一级毛片免费看 | 精品国产乱码一区二区三 | 乳色吐息在线观看 | 国产高清视频一区二区 | 国产精品乱码一区二区三区 | 日本中文字幕在线视频 | 欧美精品一区二区三区视频 | 自拍偷拍av| 欧美日日 | 国产成人高清在线观看 | 日本久久网 | 久久综合久色欧美综合狠狠 | 日韩精品一区二区三区免费视频 | 国产精品视频入口 | 久草中文网 | av网址在线 | 亚洲一区二区欧美 | 欧美特级黄色 | 女同久久另类99精品国产 | 亚洲男人天堂 | 狠狠色综合网站久久久久久久 | 一区二区三区在线 | 欧 | av毛片在线播放 | 国产精品夜夜夜一区二区三区尤 | 国产精品麻 | 夜夜爽99久久国产综合精品女不卡 | 日韩精品 电影一区 亚洲 | 日韩精品无码一区二区三区 | 日韩一二区 |