1.使用遞歸的思想
function mkdirs_2($path){
if(!is_dir($path)){
mkdirs_2(dirname($path));
if(!mkdir($path, 0777)){
return false;
}
}
return true;
}
/* http://www.manongjc.com/article/1331.html */
$path2 = 'sdfs/sds/sds/s/s/sss';
var_dump(mkdirs_2($path2)); //true;
1.思想主要是利用了遞歸, 先創建dir, 在創建dir/css ,在創建…. 2.遞歸就是入棧的過程, 所以先讓,dir/css/js/php/ok 先入棧, 則它會最後出棧…其它的就不說了.
3.dirname(path)返回的是path中除了最後一個目錄的值, 即第一次返回是: dir/css/js/php,,,第二次返回 dir/css/js,,,最後一次是 ./
2.直接利用mkdir()創建, 第三個參數必須是true才能自動創建多級目錄
function mkdirs_1($path, $mode = 0777){
if(is_dir($path)){
return '無法創建,已經是目錄了';
}else{
if(mkdir($path, $mode, true)) {
return '創建成功';
}else{
return '創建失敗';
}
}
}
/* http://www.manongjc.com/article/1332.html */
$path1 = 'a/b/c/d/e';
var_dump(mkdirs_1($path1)); //string '創建成功' (length=12)