Laravel 文件上传
laravel 文件上传
在laravel上传文件非常简单。我们所需要做的就是创建一个视图文件,用户可以在其中选择要上传的文件以及在其中处理上传的文件的控制器。
在视图文件中,我们需要通过添加以下代码行来生成文件输入。
form::file('file_name');
在form :: open()中,我们需要添加 'files'= >'true',如下所示。这有助于将表格上传到多个部分。
form::open(array('url' => '/uploadfile','files'=>'true'));
例
第1步 - 创建一个名为 resources / views / uploadfile.php 的视图文件,并将以下代码复制到该文件中。
资源/视图/ uploadfile.php
echo form::open(array('url' =--> '/uploadfile','files'=>'true')); echo 'select the file to upload.'; echo form::file('image'); echo form::submit('upload file'); echo form::close(); ?>
第2步 - 通过执行以下命令创建一个名为 uploadfilecontroller 的控制器。
php artisan make:controller uploadfilecontroller --plain
第3步 - 成功执行后,您将收到以下输出 -
第4步 - 复制下面的代码
app / http / controllers / uploadfilecontroller.php 文件。
应用程序/ http /控制器/ uploadfilecontroller.php
namespace app\http\controllers; use illuminate\http\request; use app\http\requests; use app\http\controllers\controller; class uploadfilecontroller extends controller { public function index(){ return view('uploadfile'); } public function showuploadfile(request $request){ $file = $request--->file('image'); //display file name echo 'file name: '.$file->getclientoriginalname(); echo ' '; //display file extension echo 'file extension: '.$file->getclientoriginalextension(); echo ' '; //display file real path echo 'file real path: '.$file->getrealpath(); echo ' '; //display file size echo 'file size: '.$file->getsize(); echo ' '; //display file mime type echo 'file mime type: '.$file->getmimetype(); //move uploaded file $destinationpath = 'uploads'; $file->move($destinationpath,$file->getclientoriginalname()); } }
第5步 - 在 app / http / routes.php中 添加以下行。
应用程序/ http / routes.php文件
route::get('/uploadfile','uploadfilecontroller@index'); route::post('/uploadfile','uploadfilecontroller@showuploadfile');
第6步 - 访问以下url以测试上传文件功能。
http://localhost:8000/uploadfile
第7步 - 您将收到如下图所示的提示。