2016-05-29 8 views
1

私はlaravelで単純なファイルマネージャを作成しようとしていますが、実際には 'files'フォルダのすべてのファイルを表示したいと思います。フォルダ内のすべてのファイルが、私は各ファイルのサイズのようなより多くのデータを取得したい。Laravel 5ディレクトリ内のすべてのファイルからサイズを取得

コントローラー:

public function showFiles() { 
    $files = Storage::disk('publicfiles')->files(); 
    return view('files')->with('files', $files); 
} 

ビュー:

@foreach($files as $file) 
    <tr> 
     <td>{{$file}}</td> 
     <td></td> 
     <td class="actions-hover actions-fade"> 
      <a href=""><i class="fa fa-download"></i></a> 
     </td> 
    </tr> 
@endforeach 

Getting this

私が言ったように、私はサイズを手に入れたいと思いましたが、私はそれをどうやって行うことができるのでしょうか、それを処理するのは難しいですが、私は本当にそうしたくありません。言われていること

、私は実際にこのようにそれを行う方法を知っている:

@foreach($files as $file) 
    <tr> 
     <td>{{$file}}</td> 
     <td> 
     <?php 
     $size = Storage::disk('publicfiles')->size($file); 
     echo $size; 
     ?> 

     </td> 
     <td class="actions-hover actions-fade"> 
      <a href=""><i class="fa fa-download"></i></a> 
     </td> 
    </tr> 
@endforeach 

しかし、私はビューの右にそれを行うには適切ではないと思いますか?

+0

もちろん、それは見た目からするのは適切ではありません。 – Abhishek

答えて

1

はい、これを表示することは良い考えではありません。コントローラのメソッドを次のように変更してください:

public function showFiles() { 
    $files_with_size = array(); 
    $files = Storage::disk('publicfiles')->files(); 
    foreach ($files as $key => $file) { 
    $files_with_size[$key]['name'] = $file; 
    $files_with_size[$key]['size'] = Storage::disk('publicfiles')->size($file); 
    } 
    dd($files_with_size); 
} 

また、同じようなヘルパー機能を設定することもできます。

+0

すごくありがとう<3 :)私はこれについて頑張りませんでした、私は長い目が覚めてきたと思います –

関連する問題