下面由Laravel教學欄位介紹laravel系統自帶的檔案上傳功能 ,希望對需要的朋友有幫助!
上傳檔案這個功能,說難吧,其實都是封裝好的,真的不難。說不很難吧,各種配置什麼的有時候真的也會讓人頭痛。今天呢,就說一下關於laravel的上傳功能的介紹。
直接呼叫指令從composer下載了一份laravel的框架,命名為blog(這個隨便)
進入檔案blog->config->filesystems.php,其中有一個disk的配置。
簡單的解釋一下
前端程式碼
<p class="container"> <p class="panel-heading">上传文件</p> <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data"> {{ csrf_field() }} <label for="file">选择文件</label> <input id="file" type="file" class="form-control" name="source" required> <button type="submit" class="btn btn-primary">确定</button> </form> </p>
紅色部分程式碼是必須加上的,如果不加上的話,下面的php語句中的程式碼驗證就無法實作
後端程式碼
3
public function upload(Request $request){ if ($request->isMethod('POST')) { //判断是否是POST上传,应该不会有人用get吧,恩,不会的 //在源生的php代码中是使用$_FILE来查看上传文件的属性 //但是在laravel里面有更好的封装好的方法,就是下面这个 //显示的属性更多 $fileCharater = $request->file('source'); if ($fileCharater->isValid()) { //括号里面的是必须加的哦 //如果括号里面的不加上的话,下面的方法也无法调用的 //获取文件的扩展名 $ext = $fileCharater->getClientOriginalExtension(); //获取文件的绝对路径 $path = $fileCharater->getRealPath(); //定义文件名 $filename = date('Y-m-d-h-i-s').'.'.$ext; //存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置 Storage::disk('public')->put($filename, file_get_contents($path)); } } return view('upload'); }
小編是一邊弄一邊打,怕自己寫錯了給你們笑話。最後成功的上傳了檔案進去。
以上是laravel系統自備的文件上傳功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!