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.