使用递归函数创建子目录

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 路径参数中创建所有缺失的子目录