给出例如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);
答案 0 :(得分:0)
以下给出的代码片段将执行以下操作,
让我们假设给路径为/ 1且$ until为3
它将创建一个1:1的子目录
在/ 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);
}
}
答案 1 :(得分:0)
应该有一个mkdir命令行参数(/ s或/ p)来创建mkdir路径参数中所有缺少的子目录