【发布时间】:2016-11-17 13:46:58
【问题描述】:
我有一个名为 images 的目录。假设路径是
somepath.com/images/
在我的图像目录中有许多文件夹。所以可以说我有
somepath.com/images/folder1
somepath.com/images/folder2
每个文件夹中都有许多图像。所以可以说我有
somepath.com/images/folder1/img1.png
somepath.com/images/folder1/img2.png
somepath.com/images/folder2/img1.png
somepath.com/images/folder2/img2.png
我正在尝试构建一个包含所有这些数据的数组。我希望数组看起来像这样
array:2 [▼
"directories" => array:1 [▼
"Name" => "folder1"
]
"files" => array:14 [▼
0 => array:1 [▼
"Name" => "img1.png"
]
2 => array:1 [▼
"Name" => "img2.png"
]
]
]
array:2 [▼
"directories" => array:1 [▼
"Name" => "folder2"
]
"files" => array:14 [▼
0 => array:1 [▼
"Name" => "img1.png"
]
2 => array:1 [▼
"Name" => "img2.png"
]
]
]
这样,我可以看到有一个文件夹1,里面是img1和img2。为了生成这个数组,我目前正在扫描基本目录以获取文件夹名称。然后我循环文件夹以获取文件名。这是我目前拥有的
$data = array();
$directories = scandir("somepath.com/images/");
foreach($directories as $directory){
if($directory=='.' or $directory=='..' ){
continue;
} else{
$data["directories"] = array(
"Name" => $directory
);
$dirFiles = scandir("somepath.com/images/" . $directory);
foreach($dirFiles as $file){
if($file=='.' or $file=='..' ){
continue;
} else {
$data["files"][] = array(
"Name" => $file
);
}
}
}
}
我目前遇到的问题是第一个目录数据被覆盖。此外,我留下的数组似乎包含文件夹 2 的所有 4 个图像。我怎样才能改变我所拥有的 为了产生所需的输出?
谢谢
【问题讨论】: