我需要一个函数的帮助来为以下情况创建一个2级目录:
感谢您的帮助。
答案 0 :(得分:58)
使用mkdir()
的第三个参数:
recursive 允许创建路径名中指定的嵌套目录。默认为FALSE。
$path = '/path/to/folder/with/subdirectory';
mkdir($path, 0777, true);
答案 1 :(得分:4)
recursive允许创建路径名中指定的嵌套目录。 但对我没用!! 因为这就是我想出来的!它的工作非常完美!
$upPath = "../uploads/RS/2014/BOI/002"; // full path
$tags = explode('/' ,$upPath); // explode the full path
$mkDir = "";
foreach($tags as $folder) {
$mkDir = $mkDir . $folder ."/"; // make one directory join one other for the nest directory to make
echo '"'.$mkDir.'"<br/>'; // this will show the directory created each time
if(!is_dir($mkDir)) { // check if directory exist or not
mkdir($mkDir, 0777); // if not exist then make the directory
}
}
答案 2 :(得分:3)
您可以尝试使用file_exists检查文件夹是否存在,并is_dir
检查文件夹是否存在。
if(file_exists($dir) && is_dir($dir))
要创建目录,您可以使用mkdir
函数
然后你的其余问题就是操纵它以满足要求
答案 3 :(得分:2)
请参阅mkdir
,特别是$recursive
参数。
答案 4 :(得分:1)
我受了多少......并得到了这个剧本..
function recursive_mkdir($dest, $permissions=0755, $create=true){
if(!is_dir(dirname($dest))){ recursive_mkdir(dirname($dest), $permissions, $create); }
elseif(!is_dir($dest)){ mkdir($dest, $permissions, $create); }
else{return true;}
}
答案 5 :(得分:0)
您正在寻找的功能是MKDIR。 使用last参数递归创建目录。并read the documentation.
答案 6 :(得分:0)
从PHP 5.0 + mkdir开始,它有一个递归参数,可以创建任何缺少的父项。
答案 7 :(得分:0)
// Desired folder structure
$structure = './depth1/depth2/depth3/';
// To create the nested structure, the $recursive parameter
// to mkdir() must be specified.
if (!mkdir($structure, 0744, true)) {
die('Failed to create folders...');
}
Returns TRUE on success or FALSE on failure.
答案 8 :(得分:0)
从PHP 8(2020-11-24)开始,您可以使用命名参数:
<?php
mkdir('March/April', recursive: true);