我想自动化图片库,因为我需要首先扫描图库文件夹中的图像。其次,我需要在数组中分隔文件夹。例如:
到目前为止,这是我的代码:
$path = '/public_html/images/gallery/';
$directory = new RecursiveDirectoryIterator($path,RecursiveDirectoryIterator::SKIP_DOTS);
$iterator = new RecursiveIteratorIterator($directory,RecursiveIteratorIterator::LEAVES_ONLY);
$extensions = array("jpg", "jpeg");
foreach ($iterator as $fileinfo) {
if (in_array($fileinfo->getExtension(), $extensions)) {
$files[] = $fileinfo->getPathname();
}
}
/** print_r ($files); */
echo '<ul>';
foreach($files as $p){
echo '<li>'.$p.'</li>';
}
echo '</ul>';
这将使用它的子文件夹输出该文件夹中的所有图像。我真正知道的是如何从每个文件夹的$ files数组,x子数组中提取。例如:
$files = {folder1/1.jpg, folder1/2.jpg, folder1/3.jpg, folder2/1.jpg, folder2/2.jpg }
接下来我想将文件夹解压缩到arrayx:
$folder1 = {folder1/1.jpg, folder1/2.jpg, folder1/3.jpg}
$folder2 = {folder2/1.jpg, folder2/2.jpg}
由此我可以处理它以生成灯箱条目。谢谢!
答案 0 :(得分:0)
您可以尝试通过将文件夹名称添加为键来使数组成为多维:
foreach ($iterator as $fileinfo) {
if (in_array($fileinfo->getExtension(), $extensions)) {
$files[$fileinfo->getPath()][] = $fileinfo->getPathname();
}
}
现在,您应该根据路径将不同的文件分成不同的数组:
$files["path1"][0] = file1;
$files["path1"][1] = file2;
$files["path2"][0] = file1;
$files["path2"][1] = file2;