鍍金池/ 教程/ PHP/ Laravel文件上傳
Laravel操作數(shù)據(jù)庫
Laravel會話(session)
Laravel文件上傳
Laravel Cookie
Laravel Facades
Laravel應用程序結構
Laravel響應
Laravel插入數(shù)據(jù)庫表數(shù)據(jù)
Laravel錯誤處理
Laravel環(huán)境安裝配置
Laravel本地化
Laravel Ajax
Laravel路由
Laravel錯誤和日志記錄
Laravel檢索查詢數(shù)據(jù)
Laravel更新數(shù)據(jù)
Laravel刪除數(shù)據(jù)
Laravel表單處理
Laravel中間件
Laravel控制器
Laravel驗證
Laravel安全
Laravel請求
Laravel發(fā)送郵件
Laravel重定向
Laravel教程
Laravel配置
Laravel事件處理
Laravel視圖

Laravel文件上傳

上傳文件在Laravel中是很容易的。我們需要做的是創(chuàng)建一個視圖文件,用戶可以選擇要上傳的文件,并使用控制器來處理上傳的文件。
在視圖文件中需要通過添加以下代碼行來生成一個文件輸入框。
Form::file('file_name');
在Form::open(), 我們需要添加‘files’=>’true’ ,如下圖所示。這有利于使用 multiple parts 上傳文件。
Form::open(array('url' => '/uploadfile','files'=>'true'));

示例

第1步 - 創(chuàng)建一個名為 resources/views/uploadfile.php 的視圖文件,并復制下面的代碼到此文件。

resources/views/uploadfile.php

<html>
   <body>
      
      <?php
         echo Form::open(array('url' => '/uploadfile','files'=>'true'));
         echo '選擇一個要上傳的文件:<br/>';
         echo Form::file('image');
         echo Form::submit('提交上傳');
         echo Form::close();
      ?>
   
   </body>
</html>
第2步 - 通過執(zhí)行以下命令創(chuàng)建一個名為UploadFileController 的控制器。
D:\laravel>php artisan make:controller UploadFileController
第3步 - 成功執(zhí)行后,您會收到以下輸出 -

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

app/Http/Controllers/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

app/Http/routes.php

Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
第6步 - 請訪問以下網(wǎng)址進行測試上傳文件功能。

http://localhost:8000/uploadfile

第7步- 這會收到一個提示,如下面圖片所示。
Laravel文件上傳
點擊“提交上傳”按鈕后,上傳文件處理結果如下所示:


上一篇:Laravel請求下一篇:Laravel重定向