Programmer avec Laravel Développer en back-end
Gestion de fichiers sous laravel
1. Créer un projet laravel nommé Bibliothèque.
2. Installer Laravel Breeze via les commandes suivantes :
Composer require laravel/breeze –dev
Puis :
php artisan breeze :install // ajouter –dark pour ajouter le mode sombre
php artisan migrate
npm install
npm run dev
NB. Maintenant on peut accéder aux services d’authentification (login, register, profile, …)
toutes les routes de breeze sont définies dans routes/[Link]
3. Ajouter un contrôleur « LivreController » avec toutes les ressources et services
4. Dans le fichier de migration create_livres ajouter les champs :
code : clé primaire de type string
titre : string
nombres de pages : integer
image : string
5. Créer un dossier que vous nommez livres dans le dossier view et dans lequel vous créer
les vues correspondantes aux actions du contrôleur livre.
6. Hériter le page maître de breeze « layouts/[Link] » pour créer vos vues
7. Créer un formulaire pour ajouter un nouveau livre :
Ajouter l’attribut enctype="multipart/form-data" dans votre balise
form
Ajouter le type file pour l’image du livre
Méthode basique pour l’upload d’un fichier :
D’abord consulter la configuration des fichiers dans
« config/[Link] » groupe ‘disks’, pour voir l’endroit où vont
être déplacé vos fichiers)
use Illuminate\Http\UploadedFile; // classe qui contient les méthodes
basics de gestion des fichiers téléchargés
8. Dans l’action store ajouter le code suivant :
$livre = new Livre();
$ livre ->code=$request->code;
…
/*** $request->hasFile('image') :pour déterminer si un fichier est présent
dans la requête.
On peut même vérifier qu’il n’y a eu aucun problème lors du téléchargement
du fichier : $request->file('image')->isValid()
UploadedFile contient également :
Formateur : [Link] @ISTA ALADARISSA Page 1 | 2
Programmer avec Laravel Développer en back-end
$path=$request->image->path(); pour accéder au chemin complet du fichier
et à son extention.
$extension=$request->image->extension(); pour deviner l’extension du
fichier!?
$path=$request->image->store(‘images’); store, une méthode qui déplacera
le fichier vers l’un des disques, qui peut être un emplacement sur votre
système de fichiers local ou un emplacement de stockage cloud.
Store accepte également un deuxième argument facultatif pour le nom du
disque qui doit être utilisé pour stocker le fichier (la méthode renverra
le chemin de fichier)
- Si vous ne souhaitez pas qu’un nom de fichier soit généré automatiquement
vous pouvez utiliser storeAs qui accepte le chemin, le nom du fichier et
le nom du disque comme arguments :
$path = $request->photo->storeAs('images', '[Link]');
$path = $request->photo->storeAs('images', '[Link]', 's3');
****/
if($request->hasFile('image'))
$livre ->image = $request->image->store('images');
$livre ->save();
return redirect()->route('[Link]');
9. Créer un raccourci du dossier « storage/app/public/images » dans votre dossier public en
exécutant la commande suivante : php artisan storage:link
Méthode profonde pour l’upload des fichiers
[Link]
Formateur : [Link] @ISTA ALADARISSA Page 2 | 2