php中刪除檔案夾以及檔案夾中的檔案程式碼

來源:互聯網
上載者:User

在學習本方法之前我們最rmdir();函數,這個函數就是根據指定的檔案路勁,刪除檔案或者是檔案夾,但是當刪除的是檔案夾,並且檔案夾裡面還有內容的時候,就會出現Directory not empty 的錯誤,這個怎麼來解決呢,現在我們就通過編寫一個函數來解決這個問題。

在本執行個體中使用到了php中比較重要的幾個檔案操作的函數,
1.opendir:如果該函數成功運行,將返回一組目錄流(一組目錄字元串),如果失敗將返回錯誤[error]。你可以在函數的最前面加上“@”來隱藏錯誤。
2.readdir:從目錄留裡面裡面的返回的結果是,首先是一個.(表示這個目錄,進入目錄開始讀取),返回..(表示已經在目錄中,正在讀取目錄中的檔案)   然後返迴文件或者檔案夾的名字,如果沒有則返回false
3.closedir:關閉目錄流
完整代碼:

 代碼如下 複製代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<?php
function delDirAndFile($dirName,$flag) {
if (@$handle = opendir ( "$dirName" )) {
    //如果該函數成功運行,將返回一組目錄流(一組目錄字元串),如果失敗將返回錯誤[error]。你可以在函數的最前面加上“@”來隱藏錯誤。
while ( false!==($item = readdir($handle))) {
//從目錄留裡面裡面的返回的結果是,首先是一個.(表示這個目錄,進入目錄開始讀取),返回..(表示已經在目錄中,正在讀取目錄中的檔案)
//然後返迴文件或者檔案夾的名字,如果沒有則返回false
if ($item!= "." && $item != "..") {
//這裡是當有檔案或者是檔案夾的時候開始做出判斷
if (is_dir("$dirName/$item" )) {
//如果是檔案夾,遞迴都用
delDirAndFile("$dirName/$item");
} else {
//否則就刪除檔案
if (unlink ( "$dirName/$item" ))
   //判斷檔案是不是刪除成功了
echo "刪除檔案 $dirName/$itemn";
}
}
}
closedir ($handle );//關閉檔案目錄流
if($flag==true){
if (rmdir($dirName ))
echo '目錄以及檔案刪除成功';//最後刪除輸入的檔案夾
}
}
}
?>

<?php
delDirAndFile("dd",false);
?>
</body>
</html>

代碼的基本介紹在代碼中都有說明,現在我們來看看測試的結果:
執行前的檔案結構目錄
執行時頁面顯示結果:
執行之後的問價目錄結構:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.