私はimagesというディレクトリを持っています。パスはディレクトリをループしてデータを保存する
somepath.com/images/
です。my 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"
]
]
]
のようなものを見て期待し、私はそこのfolder1であり、この内部には、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
);
}
}
}
}
問題は、私が現時点では最初のディレクトリデータを上書きすることです。さらに、私が残している配列は、folder2の4つの画像すべてを持つようです。どのように私は 希望の出力を生成するために何を変更することができますか?
おかげ