最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php rmdir使用遞歸函數(shù)刪除非空目錄實例詳解

 更新時間:2016年10月20日 14:01:33   投稿:lqh  
我們大家都知道,php rmdir()函數(shù)用于刪除空目錄,但如果要刪除非空目錄,我們必須將非空目錄中的文件或子目錄刪除,本文章向大家介紹php如何使用遞歸函數(shù)刪除非空目錄,需要的朋友可以參考一下

 首先向大家介紹一下rmdir()函數(shù)。

php rmdir()函數(shù)

rmdir — 刪除空目錄

語法:

bool rmdir ( string $dirname [, resource $context ] )

嘗試刪除 dirname 所指定的目錄。 該目錄必須是空的,而且要有相應的權(quán)限。 失敗時會產(chǎn)生一個E_WARNING級別的錯誤。
參數(shù):

1.dirname:目錄的路徑。
2.context:在 PHP 5.0.0 中增加了對上下文(Context)的支持。

php rmdir()刪除非空目錄

上面已經(jīng)說過,rmdir()函數(shù)只能刪除空目錄,如果是非空目錄就需要先進入到目錄中,使用unlink()函數(shù)將目錄中的每個文件都刪除掉,再回來將這個空目錄刪除。如果目錄中還存在子目錄,而且目錄也非空,就需要使用遞歸的方法。自定義遞歸函數(shù)刪除目錄的源代碼如下:

<?php
function delDir($directory){//自定義函數(shù)遞歸的函數(shù)整個目錄
  if(file_exists($directory)){//判斷目錄是否存在,如果不存在rmdir()函數(shù)會出錯
    if($dir_handle=@opendir($directory)){//打開目錄返回目錄資源,并判斷是否成功
      while($filename=readdir($dir_handle)){//遍歷目錄,讀出目錄中的文件或文件夾
        if($filename!='.' && $filename!='..'){//一定要排除兩個特殊的目錄
          $subFile=$directory."/".$filename;//將目錄下的文件與當前目錄相連
          if(is_dir($subFile)){//如果是目錄條件則成了
            delDir($subFile);//遞歸調(diào)用自己刪除子目錄
          }
          if(is_file($subFile)){//如果是文件條件則成立
            unlink($subFile);//直接刪除這個文件
          }
        }
      }
      closedir($dir_handle);//關(guān)閉目錄資源
      rmdir($directory);//刪除空目錄
    }
  }
}

delDir("mydir");//調(diào)用delDir函數(shù)

?>

處理遞歸刪除非空目錄外,我們也可以使用操作系統(tǒng)命令“rm -rf”刪除非空的目錄,但也要從安全和跨平臺方面考慮盡量不要去使用。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

台湾省| 青冈县| 滨州市| 乌苏市| 伊宁市| 黑龙江省| 汝南县| 漳浦县| 临清市| 景宁| 武乡县| 吉隆县| 安吉县| 阿荣旗| 连平县| 奉新县| 大余县| 平安县| 襄垣县| 饶平县| 缙云县| 合山市| 巴东县| 兴仁县| 无棣县| 达州市| 女性| 西贡区| 贞丰县| 西贡区| 迁安市| 望奎县| 贵溪市| 齐河县| 库尔勒市| 北碚区| 绩溪县| 临湘市| 沐川县| 海南省| 增城市|