2016-05-05 44 views
0

laravelsファイルシステムのアップロードにいくつか問題があります。私はLaravel 5.2ファイルシステムを使ってファイルをアップロードする

Storage::disk('public')->put(
      $img->getClientOriginalName(), 
      file_get_contents($img->getRealPath()) 
     ); 

何もパブリックフォルダにローカルに起こりません。このコードを実行しようとすると、ファイルが存在する場合

は、私もチェックし、それは今私が使っているため

dd(Storage::disk('public')->exists($img->getClientOriginalName())); 

trueを返します$img->moveメソッドと同じように動作します。

ディスクも数週間前、それは別のプロジェクトに必要として働いていたので、私はこれで混乱していますfilesystems.php

'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('app/public'), 
      'visibility' => 'public', 
     ], 

に設定されています。

+0

ファイルを/ publicフォルダにアップロードする場合は、 '' root '=> public_path(' ') ' –

+0

と入力してください。$ img – Pascal

答えて

1

私は今'root' => public_path('')を使用することによりクラウディオの助けを借りて、この問題を修正しました。

0

この動作するはずです:

if ($request->hasFile('myFile')) 
{ 
    $fileExtension = strtolower($request->file('myFile')->getClientOriginalExtension()); 
    $newFilename = str_random(20) . '.' . $fileExtension; 
    $storagePath = storage_path() . '/app/uploads/'; 
    $request->file('myFile')->move($storagePath, $newFilename); 
} 
+0

を定義する方法を表示してください。それは正常に動作しますが、実際にローカルディスクにファイルを格納しないファイルシステム機能を使用したいと思います。ファイルが存在するかどうかを確認したり、入手してもディスクに表示されます。 – Citrus

関連する問題