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.