最近遇到乙個實際問題,需要清空制定目錄下的所有檔案及清空資料庫。清空資料庫不難,但要如何遞迴刪除乙個目錄下的所有檔案呢。 於是去網上研究了下資料再加上自己琢磨解決了這一問題。
先貼**:
<?php
function delfile($dirname) else unlink("$dirname/$item");
} }closedir($handle);
}?>
<?php
delfile('/home/sources');
?>
先講解幾個函式:
opendir() :函式開啟乙個目錄控制代碼,可由 closedir(),readdir() 和 rewinddir() 使用。
若成功,則該函式返回乙個目錄流,否則返回 false 以及乙個 error。可以通過在函式名前加上 "@" 來隱藏 error 的輸出。例如$dir=@ opendir("image");
readdir():返回由opendir函式開啟的目錄控制代碼中的條目,即順序返回資料夾中的檔名,順序按照檔案系統中制定的排序方式。
id_dir():即檢測引數檔案是否為目錄,如果是返回true.
un_link():即刪除制定檔案。
所以程式執行思路為:函式呼叫主目錄,然後順序檢測每一檔案是否為目錄,如果為目錄則遞迴呼叫函式,並對不為目錄的檔案進行刪除,直到遍歷完所有的檔案。
這個程式只實現刪除資料夾裡面的內容,而沒有刪除資料夾本身,如果要實現這一目的,加上下面**即可:
rmdir($dirname);
Linux中通過setfacl實現目錄下建立檔案
在linux 系統中,可以通過setfacl 來實現目錄下建立檔案或子目錄,並繼承父目錄的許可權。下面以 root 用普通使用者 user1 在目錄 mnt下 root redhat 7 mnt setfacl m u user1 rwx share 為目錄新增ower user1 並賦予rwx 的...
PHP刪除目錄及目錄下所有檔案
函式 php刪除目錄及目錄下所有檔案 功能 php操作檔案。刪除指定目錄及 或 該目錄下的所有檔案。語言 php 函式 一 刪除目錄及目錄下的所有檔案?12 3 4 56 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 functiondelfil...
函式 PHP刪除目錄及目錄下所有檔案
函式 一 刪除目錄及目錄下的所有檔案 迴圈刪除目錄和檔案函式 function deldirandfile dirname else closedir handle if rmdir dirname echo 成功刪除目錄 dirname n 函式 二 僅刪除指定目錄下的檔案,不刪除目錄資料夾。迴圈...