php遞迴函式遞迴複製與刪除目錄的那些事

來源:互聯網
上載者:User
在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實現用於刪除整個目錄的遞迴函式。

複製代碼 程式碼範例:
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.