Laravel - Carga de archivos

Cargar archivos en Laravel es muy fácil. Todo lo que tenemos que hacer es crear un archivo de vista donde un usuario puede seleccionar un archivo para cargar y un controlador donde se procesarán los archivos cargados.

En un archivo de vista, necesitamos generar una entrada de archivo agregando la siguiente línea de código.

Form::file('file_name');

En Form :: open (), necesitamos agregar ‘files’=>’true’Como se muestra abajo. Esto facilita que el formulario se cargue en múltiples partes.

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

Ejemplo

Step 1 - Crea un archivo de vista llamado resources/views/uploadfile.php y copie el siguiente código en ese archivo.

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 controlador llamado UploadFileController ejecutando el siguiente comando.

php artisan make:controller UploadFileController --plain

Step 3 - Después de una ejecución exitosa, recibirá el siguiente resultado:

Step 4 - Copie el siguiente código en

app/Http/Controllers/UploadFileController.php archivo.

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 - Agregue las siguientes líneas en app/Http/routes.php.

app/Http/routes.php

Route::get('/uploadfile','[email protected]');
Route::post('/uploadfile','[email protected]');

Step 6 - Visite la siguiente URL para probar la funcionalidad de carga de archivos.

http://localhost:8000/uploadfile

Step 7 - Recibirá un mensaje como se muestra en la siguiente imagen.