如何運用php函數mkdir建立多級目錄_PHP教程

來源:互聯網
上載者:User
當我們想在自己的網站上添加多級目錄時,可以使用 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);
  28. }

以上程式碼範例就是php函數mkdir實現建立多級目錄的具體方法。


http://www.bkjia.com/PHPjc/446279.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446279.htmlTechArticle當我們想在自己的網站上添加多級目錄時,可以使用 php函數mkdir參數與描述 path 必需。規定要建立的目錄的名稱。 mode 必需。規定許可權。默...

  • 聯繫我們

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