首頁 > 後端開發 > php教程 > php遞迴函式遞歸複製與刪除目錄的那些事

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

WBOY
發布: 2016-07-25 08:51:23
原創
1084 人瀏覽過
在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實作用於刪除整個目錄的遞歸函數。

複製程式碼 程式碼範例:


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板