使用递归函数创建子目录
Use recursive function to make subdir
给定一个停止编号,例如 3。然后它将在该文件夹中创建一个文件夹和 2 个子文件夹,并在每个子文件夹中创建 3 个子文件夹。
如何使用简单的 php 递归函数来做到这一点?
这是我的代码,我做不到,这个问题我考虑了很久..
function mkpath($path,$stop_turn){
if($stop_turn==1){
return 0;
}
if(!file_exists($path)){
mkdir($path,0777,false);
}
else
$path=$path.'/'.$stop_turn;
return mkpath($path,$stop_turn-1);
}
mkpath("1",2);
下面给出的代码片段将执行以下操作,
让我们假设给定路径是 /1 并且 $till 是 3
它将创建一个子目录 1 in 1
in /1/1 它将创建 2 个名为 1 和 2 的子目录
在 /1/1/1 和 /1/1/2 中,它将创建三个名为 1 2 3 的子目录。
function mkpath($path, $till, $count = 1) {
if($count > $till)
return ;
for($i = 1; $i<=$count; $i++ ) {
$newPath = $path."$i";
if(!file_exists($newPath)){
mkdir($newPath,0777,false);
}
mkpath($newPath."/", $till, $count + 1);
}
}
应该有一个 mkdir 命令行参数(/s 或 /p)来在 mkdir 路径参数中创建所有缺失的子目录
给定一个停止编号,例如 3。然后它将在该文件夹中创建一个文件夹和 2 个子文件夹,并在每个子文件夹中创建 3 个子文件夹。
如何使用简单的 php 递归函数来做到这一点?
这是我的代码,我做不到,这个问题我考虑了很久..
function mkpath($path,$stop_turn){
if($stop_turn==1){
return 0;
}
if(!file_exists($path)){
mkdir($path,0777,false);
}
else
$path=$path.'/'.$stop_turn;
return mkpath($path,$stop_turn-1);
}
mkpath("1",2);
下面给出的代码片段将执行以下操作,
让我们假设给定路径是 /1 并且 $till 是 3
它将创建一个子目录 1 in 1
in /1/1 它将创建 2 个名为 1 和 2 的子目录
在 /1/1/1 和 /1/1/2 中,它将创建三个名为 1 2 3 的子目录。
function mkpath($path, $till, $count = 1) {
if($count > $till)
return ;
for($i = 1; $i<=$count; $i++ ) {
$newPath = $path."$i";
if(!file_exists($newPath)){
mkdir($newPath,0777,false);
}
mkpath($newPath."/", $till, $count + 1);
}
}
应该有一个 mkdir 命令行参数(/s 或 /p)来在 mkdir 路径参数中创建所有缺失的子目录