Laravel文件上傳

上傳文件在Laravel中是很容易的。我們需要做的是創建一個視圖文件,用戶可以選擇要上傳的文件,並使用控制器來處理上傳的文件。

在視圖文件中需要通過添加以下代碼行來生成一個文件輸入框。

Form::file('file_name');

在Form::open(), 我們需要添加‘files’=>’true’ ,如下圖所示。這有利於使用 multiple parts 上傳文件。

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

示例

第1步 - 創建一個名爲 resources/views/uploadfile.php 的視圖文件,並複製下面的代碼到此文件。

resources/views/uploadfile.php

  <?php
     echo Form::open(array('url' => '/uploadfile','files'=>'true'));
     echo '選擇一個要上傳的文件:<br/>';
     echo Form::file('image');
     echo Form::submit('提交上傳');
     echo Form::close();
  ?>

第2步 - 通過執行以下命令創建一個名爲UploadFileController 的控制器。

D:\laravel>php artisan make:controller UploadFileController

第3步 - 成功執行後,您會收到以下輸出 -
Laravel文件上傳

第4步 - 複製下面的代碼到文件 - app/Http/Controllers/UploadFileController.php。

app/Http/Controllers/UploadFileController.php

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 app/Http/routes.php Route::get('/uploadfile','UploadFileController@index'); Route::post('/uploadfile','UploadFileController@showUploadFile'); 第6步 - 請訪問以下網址進行測試上傳文件功能。 https://asset.1ju.org/uploadfile 第7步- 這會收到一個提示,如下面圖片所示。 ![Laravel文件上傳](https://asset.1ju.org/cmsstatic/laravel-66.png "Laravel文件上傳") 點擊「提交上傳」按鈕後,上傳文件處理結果如下所示: ![Laravel文件上傳](https://asset.1ju.org/cmsstatic/laravel-67.png)