前提・実現したいこと
Laravelで、imgタグにコントローラの画像を表示するアクションを実行して画像を表示する処理を実装していますが、複数画像がある場合どのようにコントローラで処理を実装すればいいでしょうか?
※画像フォルダは、ドキュメントルートより一つ上の階層のため上記の手法を取っています。
ShowimagesController.php
class ShowimagesController extends Controller { public function showImages () { $getAllMaps = Map::all()->toArray(); $getMapImg =[]; $getMapFloor =[]; foreach ($getAllMaps as $key => $value) { foreach ($value as $key2 => $val2) { if($key2 === "area_name") { /* 画像フォルダにある各ファイルパスの取得 */ $getMapImg[$key] =base_path('images/map/'.$value['file_name']); $getMapFloor[$key] =$val2; } } } /* 下記の処理では、1枚のみの表示 */ $mime_type = File::mimeType($getMapImg[0]); $header = [ 'Content-type' => $mime_type ]; response()->file($getMapImg[0], $header); } }
###map.blade.php
<div class="img-box map"> <img src="{{ action('ShowimagesController@showImages') }}" alt="マップ"> </div>
試したこと
上記コントローラ内で、各画像毎の複数アクションを実装しようとしましたが、routingでも同様に処理を実装しなくてはならないと思い中断しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/02 09:17