php建立多级目录(多层目录)

//php建立多级目录(多层)I
mkpath('hml/a/b/c/d/e');
function mkpath($mkpath,$mode=0777){
$path_arr=explode('/',$mkpath);
foreach ($path_arr as $value){
if(!emptyempty($value)){
if(emptyempty($path))$path=$value;
else $path.='/'.$value;
is_dir($path) or mkdir($path,$mode);
}
}
if(is_dir($mkpath))return true;
return false;
}

//php建立多级目录(多层)II
function makedir($dir,$mode="0700") {
if(strpos($dir,"/")){
$dir_path="";
$dir_info=explode("/",$dir);
foreach($dir_info as $key=>$value){
$dir_path.=$value;
if(!file_exists($dir_path)){
@mkdir($dir_path,$mode) or die("建立文件夹时失败了");
@chmod($dir_path,$mode);
}else{
$dir_path.="/";
continue;
}
$dir_path.="/";
}
return $dir_path;
}else{
@mkdir($dir,$mode) or die("建立失败了,请检查权限");
@chmod($dir,$mode);
return $dir;
}
}
makedir("0/1/2/3/");

//php建立多级目录(多层)III
function CreateFolder($path){
if (!file_exists($path)){
CreateFolder(dirname($path));
mkdir($path, 0777) or die('目标目录权限不够,无法建立文件夹');
}
}

//php建立多级目录(多层)IV
function MkPath($path, $mask){
$parsePath = explode("/", $path);
$newPath = "";
foreach($parsePath as $dir){
$newPath .= $dir;
if("" != $newPath && ".." != $newPath && "." != $newPath && !is_dir($newPath)){
if(false == @mkdir($newPath, $mask)){
return false;
}
}
$newPath .= "/";
}
return true;
}

//php建立多级目录(多层)V
/*
*@functionName:Directory
*@param:str '/a/b/c/d/f'
*@returnValue:true or false
*@USAGE:Directory('/a/b/c/d/f');
*/
function Directory($dir){
return is_dir($dir) or (Directory(dirname($dir)) and mkdir($dir, 0777));
}

评论列表

此文章还没有评论。