Laravel框架文件上傳功能實(shí)現(xiàn)方法示例
本文實(shí)例講述了Laravel框架文件上傳功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
- 以Laravel 5.2.45 框架為主,進(jìn)行文件上傳功能的實(shí)現(xiàn)如下:
實(shí)現(xiàn)步驟:
(1). 配置文件修改
打開(kāi) config/filesystems.php 文件
在 ‘disks' 數(shù)組中添加如下代碼
//自定義 'uploads' => [ 'driver' => 'local', //'root' => storage_path('app/uploads'), 'root' => public_path('uploads/'.date('Ymd')), ],
(2).前端視圖 upload.blade.php
根據(jù)需求,設(shè)計(jì)簡(jiǎn)單的視圖,核心代碼如下
<div class="panel panel-default"> <div class="panel-heading">文件上傳</div> <div class="panel-body"> <form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data"> {{ csrf_field() }} <div class="form-group"> <label for="file" class="col-md-4 control-label">Hello world</label> <div class="col-md-6"> <input id="file" type="file" class="form-control" name="source"> </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <button type="submit" class="btn btn-primary"> <i class="fa fa-btn fa-sign-in"></i> 上傳 </button> </div> </div> </form> </div> </div>
(3). 控制器核心代碼
use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; //上傳文件 功能實(shí)現(xiàn)方法 public function upload(Request $request){ if ($request->isMethod('POST')){ $file = $request->file('source'); //判斷文件是否上傳成功 if ($file->isValid()){ //原文件名 $originalName = $file->getClientOriginalName(); //擴(kuò)展名 $ext = $file->getClientOriginalExtension(); //MimeType $type = $file->getClientMimeType(); //臨時(shí)絕對(duì)路徑 $realPath = $file->getRealPath(); $filename = uniqid().'.'.$ext; $bool = Storage::disk('uploads')->put($filename,file_get_contents($realPath)); //判斷是否上傳成功 if($bool){ echo 'success'; }else{ echo 'fail'; } } } return view('upload'); }
(4). 執(zhí)行上述方法結(jié)果
通過(guò)調(diào)用上述方法,正確執(zhí)行后,上傳的文件將出現(xiàn)在 public/uploads 的對(duì)應(yīng)日期目錄下
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
Zend Framework入門(mén)教程之Zend_Registry組件用法詳解
這篇文章主要介紹了Zend Framework入門(mén)教程之Zend_Registry組件用法,結(jié)合實(shí)例形式分析了Zend_Registry組件實(shí)現(xiàn)對(duì)象注冊(cè)的設(shè)置、獲取、判斷、刪除等操作常用技巧,需要的朋友可以參考下2016-12-12php刪除數(shù)組指定元素實(shí)現(xiàn)代碼
這篇文章主要介紹了php刪除數(shù)組指定元素實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05Yii 訪問(wèn) Gii(腳手架)時(shí)出現(xiàn) 403 錯(cuò)誤
這篇文章主要介紹了Yii 訪問(wèn) Gii(腳手架)時(shí)出現(xiàn) 403 錯(cuò)誤的解決方法的相關(guān)資料,需要的朋友可以參考下2018-06-06PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程
這篇文章主要介紹了PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程,本文用一個(gè)需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說(shuō)明,需要的朋友可以參考下2014-07-07ThinkPHP中自定義錯(cuò)誤頁(yè)面和提示頁(yè)面實(shí)例
這篇文章主要介紹了ThinkPHP中自定義錯(cuò)誤頁(yè)面和提示頁(yè)面的方法,以一個(gè)完整的實(shí)例形式詳細(xì)講述了ThinkPHP實(shí)現(xiàn)自定義錯(cuò)誤提示與跳轉(zhuǎn)頁(yè)面的方法,是非常常見(jiàn)的實(shí)用技巧,需要的朋友可以參考下2014-11-11PHPMYADMIN導(dǎo)入數(shù)據(jù)最大為2M的解決方法
PHPMYADMIN還原數(shù)據(jù)庫(kù)的時(shí)候上傳的最大限制:2,048 KB,數(shù)據(jù)庫(kù)稍微大一些就無(wú)法處理,要么使用其他的備份還原工具如帝國(guó)備份王,要么就分卷導(dǎo)出,那么有沒(méi)有辦法還使用PHPMYADMIN來(lái)處理呢2012-04-04PHP遞歸獲取目錄內(nèi)所有文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇PHP遞歸獲取目錄內(nèi)所有文件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11