php創建多級目錄的兩種方法

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)

發佈了7 篇原創文章 · 獲贊 8 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章