php面向物件(目錄操作)
阿新 • • 發佈:2018-11-10
目錄操作
建立目錄
Mkdir(目錄地址,許可權,是否遞迴建立=false);
Rmdir(目錄地址)
刪除目錄
僅僅可以刪除空目錄。(不支援遞迴刪除)
移動(改名)
Rename(舊地址,新地址)
該函式也支援操作檔案。
獲取目錄內容(檔案)
開啟目錄 目錄控制代碼 = opendir(目錄地址)
目錄控制代碼:php程式與目錄間的一個聯絡。
依次讀取目錄內檔案 檔名 = readdir(目錄控制代碼);
依次讀取一個檔案(子目錄),同時向下移動控制代碼指標。如果讀取不到返回false!
目錄記憶體在兩個邏輯子目錄 ., .. 分別表示當前目錄和上級目錄!
通過配合 迴圈結構 完成目錄內所有檔案的讀取:
處理 0 檔名:
關閉目錄 closedir()
遞迴獲取目錄內容
開啟某個目錄
依次讀取目錄內檔案
如果某個檔案為目錄
遞迴對該目錄採用開啟,讀取,判斷這個遞迴草
遞迴點: 如果子檔案為目錄,則遞迴
出口: 如果目錄中不存在子目錄,則不需要繼續遞迴!
樹狀展示
使用特定數量的縮排達到樹狀目的!
核心問題,計算需要縮排的數量!
縮排級別,與遞迴呼叫深度保持一致。每當執行一級遞迴操作,所找到的檔案的縮排級別+1;
語法實現:
增加一個引數,表示當前函式呼叫的深度級別,每當遞迴+1;
巢狀
使用多維陣列的巢狀,表示層級關係!
例如:
實現:
遞迴刪除
Unlink(檔案地址)刪除檔案。
目錄檔名編碼問題:
展示時,將作業系統編碼轉換為響應資料編碼。
Windows gbk,專案utf-8
程式碼的地址中存在中文:需要轉換為系統編碼,才能被檔案系統識別:
由於php基於Linux系統,所以php的檔案操作包括檔案目錄以及檔案兩部分的操作,只能操作伺服器的檔案