PHP循环mkdir失败

PHP循环mkdir失败,php,Php,对不起,打扰你了。我正在运行mkdir来复制我存储在数据库中的目录 如果我在php页面上显示数据,目录如下所示: element1/Content/EPAC/PROD element1/Content/EPAC/TEST element1/Content/EPAC_SG/PROD element1/Content/EU/PROD element1/Content/EU/TEST 以上是数据的一个子集。当我循环遍历上面的子集时,它会创建目录element1/Content/EPAC/PROD,但

对不起,打扰你了。我正在运行mkdir来复制我存储在数据库中的目录

如果我在php页面上显示数据,目录如下所示:

element1/Content/EPAC/PROD
element1/Content/EPAC/TEST
element1/Content/EPAC_SG/PROD
element1/Content/EU/PROD
element1/Content/EU/TEST
以上是数据的一个子集。当我循环遍历上面的子集时,它会创建目录element1/Content/EPAC/PROD,但会忽略element1/Content/EPAC/TEST和element1/Content/EPAC_SG/PROD,然后它会创建element1/Content/EU/PROD,但会忽略element1/Content/EU/TEST等,并像这样继续循环。我使用的代码是:

foreach($NSRarray as $value)
{
    mkdir("ftpfolders/$value", 0700, true);
}
*上面的$value变量是从数据库中获取的'element1/Content/EPAC/PROD'记录


有什么想法吗?提前感谢您,我会将其拆分为一次生成一个目录

将你的阵列转换成类似

$dics=array(
'element1' => array(
   'Content' => array(
      'EPAC' => array('PROD', 'TEST'),
      'EPAC_SG' => array('PROD')
      'EU' => array('PROD', 'TEST')
     )
   )
);
然后循环它,从数组_键($DIC)开始,如果不存在,则创建目录。 继续使用array_键($dics['element1']),然后重复它,直到到达内部孩子


希望这有帮助。

使用此代码,这将根据您的要求为您提供适当的文件夹结构

<?php
$NSRarray = array('element1/Content/EPAC/PROD', 'element1/Content/EPAC/TEST', 'element1/Content/EPAC_SG/PROD','element1/Content/EU/PROD','element1/Content/EU/TEST');

foreach($NSRarray as $value)
{
    $getFolders = explode('/' , $value);
    $mainFoldername = "ftpfolders";
    $countfolder = 0;
    $countfolder = count($getFolders);
    $tempName = "";
    $i = 0;
    for($i == 0; $i < $countfolder; $i++){
        $tempName .= $getFolders[$i];
         if (!file_exists("$mainFoldername/$tempName")) {
            mkdir("$mainFoldername/$tempName", 0700, true);
        } 
        $tempName .= '/';
    }  
}

?>


问题是什么?错误是什么?您解决过这个问题吗?:)如果是,请接受相应的答案。嗨,非常感谢你的回答。事实上,我刚刚设法修复了它。结果表明,mkdir在某个级别添加了一个空格之后。我做了一个字符串替换来删除空间,它创建了我希望的目录。非常感谢你的聪明回答,我相信当我再次陷入困境时,我会使用你的想法。嗨,非常感谢你的回答。我刚刚根据上面的评论修复了它,但是我添加了你的!文件_存在于代码中,这当然有助于清理代码。非常感谢你的回复,希望有时间我能帮助你