程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何運用php函數mkdir創建多級目錄

如何運用php函數mkdir創建多級目錄

編輯:關於PHP編程

當我們想在自己的網站上添加多級目錄時,可以使用php函數mkdir參數與描述

path 必需。規定要創建的目錄的名稱。
mode 必需。規定權限。默認是 0777。
recursive 必需。規定是否設置遞歸模式。
context 必需。規定文件句柄的環境。Context 是可修改流的行為的一套選項。

說明

php函數mkdir 嘗試新建一個由 path 指定的目錄。

默認的 mode 是 0777,意味著最大可能的訪問權。

php默認的mkdir一次只能創建一層目錄,如果在當前目錄下創建一個div/css/layout 的目錄就需要逐層逐層的先創建div,再創建div/css 再創建 div/css/layout,然而我們希望能讓程序自動幫我們完成這個過程。

其實思路也很簡單,1.先判斷 div目錄是否存在,不存在則創建;2.判斷子目錄 div/css 是否存在,不能存在則創建,3.在第二步中以子目錄作為參數遞歸調用函數本身。也可以按相反順序來,1.先判斷最底層目錄div/css/layout是否存在;2.判斷div/css/layout的上層目錄div/css是否存在,不存在則以div/css作為參數遞歸進行。。

下面是php函數mkdir的程序代碼:

  1. function mkdirs($dir)  
  2. {  
  3. if(!is_dir($dir))  
  4. {  
  5. if(!mkdirs(dirname($dir))){  
  6. return false;  
  7. }  
  8. if(!mkdir($dir,0777)){  
  9. return false;  
  10. }  
  11. }  
  12. return true;  
  13. }  
  14. mkdirs('div/css/layout');  
  15. 同樣的思路,php用rmdir和unlink遞歸刪除多級目錄的代碼:  
  16. function rmdirs($dir)  
  17. {  
  18. $d = dir($dir);  
  19. while (false !== ($child = $d->read())){  
  20. if($child != '.' && $child != '..'){  
  21. if(is_dir($dir.'/'.$child))  
  22. rmdirs($dir.'/'.$child);  
  23. else unlink($dir.'/'.$child);  
  24. }  
  25. }  
  26. $d->close();  
  27. rmdir($dir);  

以上代碼示例就是php函數mkdir實現創建多級目錄的具體方法。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved