かなり急ぎです。
次のようなコードがあります。
ディレクトリ構成としては
test
1
01.jpg
02.jpg
aa.jpg
のような構成となっています。
ファイルは必ず1つのサブディレクトリの中にあり、01.jpg,02.jpgのような連番のファイルのみを配列に格納するという実装を予定しています。
サブディレクトリは1つ以上存在することはありません。サブディレクトリが存在しないということもありません。
やりたいことは、対象ディレクトリ($temp_dir)をスキャンして、もし画像だった場合は$imagesに格納、もしディレクトリだった場合はそのディレクトリ内に移動して、再度scandirを実行、といったことがしたいです。
以下のコードの// ??の部分に再帰処理を書きたいのですが、コードが思いつきません。。何かよい方法はありますでしょうか。
当方Laravel5.2を使用しておりますので、コンポーネントで同じようなことが実装できるのであればそれでもOKです。よろしくお願いいたします。
$temp_dir = '/test'; $entries = scandir($temp_dir); foreach($entries as $entry){ if($entry === '.' || $entry === '..'){ continue; } if (is_file("$temp_dir/$entry")){ if (preg_match('/^[0-9]+\.jpg$/', strtolower($entry))) { $images[] = $entry; } } if(is_dir("$temp_dir/$entry")){ if (preg_match('/^[0-9]+\.jpg$/', strtolower($entry))) { // ?? } } }
回答2件
あなたの回答
tips
プレビュー