通常在php中創建一個新目錄所使用的函數是mkdir();(mkdir()說明請點擊:mkdir())
但是這個函數存在的一個問題就是沒有辦法直接創建多級目錄,也就是說如果你需要創建一個多級目錄的時候,最直接但是最麻煩的方法就是一級一級的去創建目錄。比如,要創建a/b/c,就需要先創建a,在創建a/b,再創建a/b/c。
但是很明顯,這個方法是很麻煩的,所以我們可以採用遞歸的方式來創建,具體代碼如下(該代碼實現在該php文件所在的路徑下創建多級目錄a/b/c):
其中,還是用到一個php函數時dirname(),用於返回當前目錄的上一級目錄(具體說明請點擊:dirname())
<?php
function mk_ndir($dir)
{
if(!is_dir($dir))//檢測當前集的目錄是否存在,如果存在,返回true
{//若當前目錄不存在
if(!mk_ndir(dirname($dir))){//首先遞歸建立當前目錄的上級目錄
return false;
}
if(!mkdir($dir,0777)){//之後建立當前目錄
return false;
}
}
return true;
}
mk_ndir('a/b/c');//調用函數創建多級目錄
?>
同樣,可以用rmdir() 和 dir->read() 遞歸解決刪除多級目錄的問題。