Laravel - Dosya Yükleme

Laravel'de Dosya Yüklemek çok kolaydır. Tek yapmamız gereken, bir kullanıcının yüklenecek bir dosyayı seçebileceği ve yüklenen dosyaların işleneceği bir kontrolörün bulunduğu bir görünüm dosyası oluşturmaktır.

Bir görünüm dosyasında, aşağıdaki kod satırını ekleyerek bir dosya girişi oluşturmamız gerekir.

Form::file('file_name');

Form :: open () 'da eklememiz gerekiyor ‘files’=>’true’Aşağıda gösterildiği gibi. Bu, formun birden çok bölüm halinde yüklenmesini kolaylaştırır.

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

Misal

Step 1 - adlı bir görünüm dosyası oluşturun resources/views/uploadfile.php ve aşağıdaki kodu o dosyaya kopyalayın.

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 - adlı bir denetleyici oluşturun UploadFileController aşağıdaki komutu yürüterek.

php artisan make:controller UploadFileController --plain

Step 3 - Başarılı bir yürütmeden sonra, aşağıdaki çıktıyı alacaksınız -

Step 4 - Aşağıdaki kodu kopyalayın

app/Http/Controllers/UploadFileController.php dosya.

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 - Aşağıdaki satırları ekleyin app/Http/routes.php.

app/Http/routes.php

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

Step 6 - Yükleme dosyası işlevini test etmek için aşağıdaki URL'yi ziyaret edin.

http://localhost:8000/uploadfile

Step 7 - Aşağıdaki resimde gösterildiği gibi bir uyarı alacaksınız.