Laravel - Téléchargement de fichiers
Le téléchargement de fichiers dans Laravel est très simple. Tout ce que nous devons faire est de créer un fichier de vue dans lequel un utilisateur peut sélectionner un fichier à télécharger et un contrôleur où les fichiers téléchargés seront traités.
Dans un fichier de vue, nous devons générer une entrée de fichier en ajoutant la ligne de code suivante.
Form::file('file_name');
Dans Form :: open (), nous devons ajouter ‘files’=>’true’comme indiqué ci-dessous. Cela facilite le téléchargement du formulaire en plusieurs parties.
Form::open(array('url' => '/uploadfile','files'=>'true'));
Exemple
Step 1 - Créez un fichier de vue appelé resources/views/uploadfile.php et copiez le code suivant dans ce fichier.
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 - Créez un contrôleur appelé UploadFileController en exécutant la commande suivante.
php artisan make:controller UploadFileController --plain
Step 3 - Après une exécution réussie, vous recevrez la sortie suivante -
Step 4 - Copiez le code suivant dans
app/Http/Controllers/UploadFileController.php fichier.
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 - Ajoutez les lignes suivantes dans app/Http/routes.php.
app/Http/routes.php
Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
Step 6 - Visitez l'URL suivante pour tester la fonctionnalité de téléchargement de fichier.
http://localhost:8000/uploadfile
Step 7 - Vous recevrez une invite comme indiqué dans l'image suivante.