| 在php編程中,對多級目錄的複製與刪除是個問題,可以用php遞迴函式實現目錄的複製與刪除操作,自訂的遞迴函式複製目錄與刪除目錄的一些例子。 php遞迴函式刪除目錄 在php中要複製一個包含多個子目錄的目錄,將涉及檔案的複製、目錄建立等操作。複製一個檔案可以通過PHP提供的copy()函數完成,建立目錄可以使用mkdir()函數。定義函數時,首先對來源目錄進行遍曆,如果遇到的是普通檔案,直接使用copy()函數進行複製。如果遍曆時遇到一個目錄,則必須建立該目錄,然後再對該目錄下的檔案進行複製操作,如果還有子目錄,則使用遞迴重複操作,最終將整個目錄複寫完成。 例子,自訂的遞迴函式複製目錄。 複製代碼 程式碼範例: 從安全和跨平台等方面考慮,盡量不要去叫用作業系統的SHELL命令“cp-a”完成目錄的複製。 二、php建立和刪除目錄函式介紹和遞迴刪除目錄函式 php建立和刪除目錄函式介紹和遞迴刪除目錄函式,理解下遞迴刪除目錄的自訂函數的實現方法。 mkdir() — 建立目錄 – 文法:bool mkdir (string pathname [,int mode])– 嘗試建立一個由 pathname 指定的目錄。 rmdir() — 刪除目錄 – 文法:bool rmdir ( string dirname )– 嘗試刪除 dirname 所指定的目錄。 該目錄必須是空的,而且要有相應的許可權。如果成功則返回 TRUE,失敗則返回FALSE。 unlink — 刪除檔案 – 文法:bool unlink ( string filename )– 刪除 filename。和 Unix C 的 unlink() 函數相似。如果成功則返回 TRUE,失敗則返回 FALSE。在PHP中,使用mkdir()函數只需要傳入一個目錄名即可很容易地建立一個新目錄。但刪除目錄所使用的函數rmdir(),只能刪除一個空目錄並且目錄必須存在。如果是非空的目錄就需要先進入到目錄中,使用unlink()函數將目錄中的每個檔案都刪除掉,再回來將這個空目錄刪除。如果目錄中還存在目錄,而且子目錄也非空,就要使用遞迴的方法了。 例子,自訂遞迴函式刪除目錄: 複製代碼 程式碼範例: 當然也可以通過叫用作業系統命令“rm-rf”刪除非空的目錄,但也要從安全和跨平台方面考慮盡量不要去使用。 三、php自訂函數之遞迴刪除檔案及目錄 自訂函數之遞迴刪除檔案及目錄的php代碼例子: 複製代碼 程式碼範例:四、php遞迴函式刪除整個目錄php實現用於刪除整個目錄的遞迴函式,包括php遞迴演算法與目錄技巧。 例子,php實現用於刪除整個目錄的遞迴函式。 複製代碼 程式碼範例: |