天天看點

mkdir 多級目錄 php,php mkdir 建立多級目錄執行個體代碼

php mkdir建立目錄隻能一級級建立目錄了,如果多級我們需要遞歸周遊來建立目錄哦,下面我給大家介紹此函數的一些使用技巧吧。

先介紹一下 mkdir() 這個函數

mkdir($path,0777,true);

第一個參數:必須,代表要建立的多級目錄的路徑;

第二個參數:設定目錄的權限,預設是 0777,意味着最大可能的通路權;

第三個參數:true表示允許建立多級目錄。

mkdir($dir,$mode);但是它每次隻能建立一個目錄,也就是說它不能一次建立多級目錄,如下

mkdir('aa'); //就隻能建立一個aa目錄了

mkdir('aa/bb/cc');//如果有aa/bb目錄就可以成功建立cc目錄否則會報錯哦,如果要建立多目錄我們看下面代碼

舉例代碼(支援建立中文目錄):

 代碼如下 複制代碼

header("Content-type:text/html;charset=utf-8");

//要建立的多級目錄

$path="dai/php/php學習";

//判斷目錄存在否,存在給出提示,不存在則建立目錄

if (is_dir($path)){

echo "對不起!目錄 " . $path . " 已經存在!";

}else{

//第三個參數是“true”表示能建立多級目錄,iconv防止中文目錄亂碼

$res=mkdir(iconv("UTF-8", "GBK", $path),0777,true);

if ($res){

echo "目錄 $path 建立成功";

}else{

echo "目錄 $path 建立失敗";

}

}

?>

再看一個遞歸建立目錄的執行個體

小編整理了兩個可以遞歸建立目錄的方法供大家參考學習,謝謝啦!

 代碼如下 複制代碼

function mkdirs($dir, $mode = 0777)

{

if (is_dir($dir) || @mkdir($dir, $mode)){

return true;

}

if (!mkdirs(dirname($dir), $mode)){

return false;

}

return @mkdir($dir, $mode);

}

function mkdirs($dir, $mode = 0777)

{

$dirArray = explode("/",$dir);

$dirArray = array_filter($dirArray);

$created = "";

foreach($dirArray as $key => $value){

if(!empty($created)){

$created .= "/".$value;

if(!is_dir($created)){

mkdir($created,$mode);

}

}else{

if(!is_dir($value)){

mkdir($value,$mode);

}

$created .= $value;

}

}

}

?>

//代碼應用執行個體

$path="abc/ff/ss/";

mkdirs($path,$mode = 0777);

上邊介紹的就是php遞歸建立目錄和多級目錄的内容