PHP創辦層級目錄,多級目錄

來源:互聯網
上載者:User
PHP建立層級目錄,多級目錄
上傳檔案常常需要將不同類型檔案放到不同檔案夾中。但由於PHP中建立目錄時只能建立一個,什麼意思?看一看以下代碼就清楚了。

代碼:

mkdir("cjlsoft/download/cpp_book", 0755);
?>

代碼執行後會產生錯誤,因為你想建立的檔案夾層級根本不存在。為什麼這樣說,第一個目錄“cjlsoft”如果不存在,後邊的目錄是根本無法建立。如果“cjlsoft”這個目錄存在,而“download”這個目錄不存在。你想建立的“cpp_book”也根本無法建立成功!mkdir這個函數是以最後一個目錄為建立的目標。"cjlsoft/download/cpp_book"這個路徑mkdir函數認為你建立的目錄為“cpp_book”。如果它父級不存在的話是肯定建立不了。

代碼執行後有以下警告:

Warning: mkdir(): No such file or directory in...

所以這樣建立目錄是行不通的!所以我們要建立這樣的層級目錄,就需要必須保證存在它的父目錄。所以編寫了一個函數,可以讓目錄方便而成功地建立!

函數:

function cjlsoft_mkdir($path)

{

$dirs = explode("/", $path);

$current_dir = "";

foreach($dirs as $dir)

{

$current_dir .= $dir."/";

if(!file_exists($current_dir))

{

@mkdir($current_dir, 0755);

}

}

}

cjlsoft_mkdir("cjlsoft/download/cpp_book");

這樣就確保你想要的層級目錄就可以建立了。函數原理,先將你期待的路徑用分隔開來,就知道有多少個檔案夾,有經過多少層。從而一層一層組合。並建立目錄。
  • 聯繫我們

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