Laravel - Caricamento di file

Il caricamento di file in Laravel è molto semplice. Tutto quello che dobbiamo fare è creare un file di visualizzazione in cui un utente può selezionare un file da caricare e un controller in cui verranno elaborati i file caricati.

In un file di visualizzazione, dobbiamo generare un input di file aggiungendo la seguente riga di codice.

Form::file('file_name');

In Form :: open (), dobbiamo aggiungere ‘files’=>’true’come mostrato di seguito. Ciò facilita il caricamento del modulo in più parti.

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

Esempio

Step 1 - Crea un file di visualizzazione chiamato resources/views/uploadfile.php e copia il codice seguente in quel file.

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 - Crea un controller chiamato UploadFileController eseguendo il seguente comando.

php artisan make:controller UploadFileController --plain

Step 3 - Dopo l'esecuzione riuscita, riceverai il seguente output:

Step 4 - Copia il seguente codice in formato

app/Http/Controllers/UploadFileController.php file.

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 - Aggiungi le seguenti righe app/Http/routes.php.

app/Http/routes.php

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

Step 6 - Visita il seguente URL per testare la funzionalità di caricamento del file.

http://localhost:8000/uploadfile

Step 7 - Riceverai un messaggio come mostrato nell'immagine seguente.