您好,登錄后才能下訂單哦!
這篇“laravel系統自帶的文件上傳功能怎么用”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“laravel系統自帶的文件上傳功能怎么用”,給大家總結了以下內容,具有一定借鑒價值,內容詳細步驟清晰,細節處理妥當,希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內容吧。
Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。
對于上傳文件這個功能,說難吧,其實都是封裝好的,真的不難。說不難吧,各種配置什么的有時候真的也會讓人頭疼。今天呢,就說一下關于laravel的上傳功能的介紹。
直接調用命令從composer上下載了一份laravel的框架,命名為blog(這個隨便)
進入文件blog->config->filesystems.php,其中有一個disk的配置。
簡單的解釋一下
disk配置項的總調用,在后面會用到的。可以把它當做一個public的調用方法這樣就很好理解了
local代表的是其中的一個小的配置項,因為或許一個項目中,要有很多不同的存儲方式或者存儲位置,local,public,s3都是表示不同的存儲方式。
driver表示的是存儲位置,像local表示的就是存儲在本地項目中。s3是存儲在亞馬遜的磁盤位置,或許還有很多,到時候我們就可以按照這三個的demo模式繼續的創建
因為一般都是存儲在項目本身,所以我們下面去掉s3的解釋。
root表示的是文件存儲的位置。‘app/public’表示的就是文件存儲在blog->storage->app->public下面。‘’app/public‘’是可以隨意的改變的。
正常的就像local的兩個配置就可以了。
創建路由,路由自己定義就好了(這個就不用解釋了吧)
編寫和路由對應的方法,在方法里面開始編寫代碼。
前端代碼
<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系統自帶的文件上傳功能怎么用”這一關鍵問題有了一定的理解,具體使用情況還需要大家自己動手實驗使用過才能領會,快去試試吧,如果想閱讀更多相關知識點的文章,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。