Laravel5.5 檔案上傳
阿新 • • 發佈:2019-02-17
一、配置檔案
進入/config/filesystems.php,在 disks 新增上傳檔案配置資訊:
'upload' => [
'driver' => 'local',
'root' => public_path('upload/'),
],
效果如下:
二、模版頁面
<div class="mws-form-row"> {!! Form::label('image','上傳頭像:',['class'=>'mws-form-label']) !!} {!! Form::file('image') !!} </div>
三、控制器
use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; public function store(Request $request) { if ($request->hasFile('image') && $request->file('image')->isValid()) { $return $this->uploadFile($image); } return "沒有上傳檔案"; } private function uploadFile($image, $id = 0) { // 獲取上傳檔名稱 $originalName = $image->getClientOriginalName(); // 獲取上傳檔案字尾 $ext = $image->getClientOriginalExtension(); // 獲取上傳檔案路徑 $realPath = $image->getRealPath(); // 獲取上傳檔案的Mime型別 // $type = $image->getClientMimeType(); $newFileName = 'adminer/'. date('Ymd') . '/' . md5(microtime()). '.' . $ext; if (Storage::disk('upload')->put($newFileName, file_get_contents($realPath))) { return '/upload/'. $newFileName; } return null; }
四、模版中讀取檔案
<img src="{{ $image }}" />