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");
這樣就確保你想要的層級目錄就可以建立了。函數原理,先將你期待的路徑用分隔開來,就知道有多少個檔案夾,有經過多少層。從而一層一層組合。並建立目錄。