如何为每个循环php使用创建分层结构的文件夹?

时间:2019-07-17 06:29:44

标签: php

我在子文件夹下创建了类似文件夹的分层文件夹 如果存在同名文件夹,则跳过创建文件夹并输入这些目录并创建下一个文件夹 文件夹名称取自数组

示例

$ folderarray = array('0'=>'8','1'=>'8','6'=>'9');

此处数组值8,8,9是文件夹名称 我已经尝试创建 第一个文件夹名称8比第二个创建文件夹名称8 在文件夹8下比在文件夹名称8下创建文件夹名称9 像8 under => 8 under => 9

怎么办?

我尝试使用这样的foreach,但创建不正确

foreach ($folderarray as $path){
   $source = "D:/xampp/htdocs/xyz/img/";
    $chkpath = $source.$path;

    if (!file_exists($chkpath)) {

        mkdir($chkpath, 0777, true);
        $source = $chkpath;


    }
    else{
        $source = $chkpath;
        continue;
    }
}

2 个答案:

答案 0 :(得分:1)

创建某人文件夹后创建路径时出错 您忘记了/在新路径中

尝试喜欢

$ folderarray = array('0'=>'8','1'=>'9','6'=>'1');

$ source =“ D:/ xampp / htdocs / xyz / img /”;

foreach ($folderarray as $path){

    $chkpath = $source.$path;
    if (!file_exists($chkpath)) {
        mkdir($chkpath, 0777, true);
        $source = $chkpath.'/';


    }
    else{
        $source = $chkpath.'/';

    }


}

答案 1 :(得分:0)

您可能想要做:

$source = "D:/xampp/htdocs/xyz/img";
foreach ($folderarray as $path){
    $chkpath = $source . "/" . $path;

    if (!file_exists($chkpath)) {
        mkdir($chkpath, 0777, true);
        $source = $chkpath;
    } else {
        $source = $chkpath;
        continue;
    }
}