Laravel文件上传


在Laravel上传文件非常简单。我们所需要做的就是创建一个视图文件,用户可以在其中选择要上传的文件以及在其中处理上传的文件的控制器。

在视图文件中,我们需要通过添加以下代码行来生成文件输入。

Form::file('file_name');

在Form :: open()中,我们需要添加 'files'= >'true',如下所示。这有助于将表格上传到多个部分。

Form::open(array('url' => '/uploadfile','files'=>'true'));

第1步 - 创建一个名为 resources / views / uploadfile.php 的视图文件,并将以下代码复制到该文件中。

资源/视图/ uploadfile.php

<html>
   <body>
      <?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();
      ?>
   </body>
</html>

第2步 - 通过执行以下命令创建一个名为 UploadFileController 的控制器。

php artisan make:controller UploadFileController --plain

第3步 - 成功执行后,您将收到以下输出 -

UploadFileController

第4步 - 复制下面的代码

app / Http / Controllers / UploadFileController.php 文件。

应用程序/ HTTP /控制器/ UploadFileController.php

<?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 '<br>';

      //Display File Extension
      echo 'File Extension: '.$file->getClientOriginalExtension();
      echo '<br>';

      //Display File Real Path
      echo 'File Real Path: '.$file->getRealPath();
      echo '<br>';

      //Display File Size
      echo 'File Size: '.$file->getSize();
      echo '<br>';

      //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步 - 您将收到如下图所示的提示。

浏览文件