Laravel - Tải lên tệp

Tải lên tệp trong Laravel rất dễ dàng. Tất cả những gì chúng ta cần làm là tạo một tệp dạng xem nơi người dùng có thể chọn tệp để tải lên và bộ điều khiển nơi các tệp đã tải lên sẽ được xử lý.

Trong tệp dạng xem, chúng ta cần tạo đầu vào tệp bằng cách thêm dòng mã sau.

Form::file('file_name');

Trong Biểu mẫu :: open (), chúng ta cần thêm ‘files’=>’true’như hình bên dưới. Điều này tạo điều kiện cho biểu mẫu được tải lên thành nhiều phần.

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

Thí dụ

Step 1 - Tạo một tệp xem được gọi là resources/views/uploadfile.php và sao chép mã sau vào tệp đó.

resources/views/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>

Step 2 - Tạo một bộ điều khiển được gọi là UploadFileController bằng cách thực hiện lệnh sau.

php artisan make:controller UploadFileController --plain

Step 3 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Step 4 - Sao chép mã sau vào

app/Http/Controllers/UploadFileController.php tập tin.

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());
   }
}

Step 5 - Thêm các dòng sau vào app/Http/routes.php.

app/Http/routes.php

Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');

Step 6 - Truy cập URL sau để kiểm tra chức năng của tệp tải lên.

http://localhost:8000/uploadfile

Step 7 - Bạn sẽ nhận được một lời nhắc như trong hình sau.