1

很抱歉打扰您。我正在运行 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' 记录。

有任何想法吗?在此先感谢,

4

2 回答 2

1

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

<?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 .= '/';
    }  
}

?>
于 2013-06-18T11:31:49.007 回答
1

我会将其拆分为一次生成一个目录。

将您的数组转换为某事。喜欢

$dics=array(
'element1' => array(
   'Content' => array(
      'EPAC' => array('PROD', 'TEST'),
      'EPAC_SG' => array('PROD')
      'EU' => array('PROD', 'TEST')
     )
   )
);

然后遍历它,从 array_keys($dics) 开始,如果不存在则创建目录。继续使用 array_keys($dics['element1']) 然后重复它直到你到达内在的孩子。

希望这可以帮助。

于 2013-06-18T10:52:55.320 回答