2017-07-24 150 views
1

我有這樣的代碼正常名稱的文件:如何與使用存儲在laravel

public function storeProject(Request $request) 
    { 
     $project = new Project(); 
     if ($request->has('slug') || $request->has('position') || $request->has('public') 
     || $request->has('pathheader') || $request->has('pathhome')) 
     { 
      $project->slug = $request->input('slug'); 
      $namefolder = $project->slug; 
      $project->position = $request->input('position'); 
      $project->public = $request->input('public'); 
      $file = $request->file('pathheader'); 
      $file2 = $request->file('pathhome'); 
      Storage::put('projects/'.$namefolder, $file); 
      //\Storage::disk('projects')->put($namefolder, \File::get($file2)); 
      //File::makeDirectory('/assets/img/projects/hola', 0775, true); 
      $project->save(); 
      return $project; 
      return $file; 
     } 
    } 

當使用此功能/projects/.$namefolder正確地創建,但文件名是什麼像這樣:p5ds31F6iJoZxXypSMlp3z1baKXs5tPAVOaKMGav.png

如何有例如:'header.png'? 謝謝!

回答

0

使用storeAs()方法:

$path = $request->photo->storeAs('images', 'filename.jpg'); 

如果你不想被自動生成一個文件名做,你可以使用storeAs方法,它接受的路徑,文件名和磁盤名稱作爲其參數。

https://laravel.com/docs/5.4/requests#storing-uploaded-files

+0

問題是我需要創建目錄,如果不存在..所以當我做了「存儲」像你說的,我想我需要有創建的目錄.. –