Gérer le stockage des fichiers dans une application Laravel peut être complexe sans la bonne configuration.
Une mauvaise configuration peut entraîner des problèmes d’accès, de sécurité ou de performance, affectant l’application.
Cet article vous guide pour configurer efficacement les disques de stockage dans Laravel, assurant une gestion optimale des fichiers.
Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Laravel fournit un système puissant pour gérer le stockage des fichiers, appelé Filesystem , qui repose sur la bibliothèque Flysystem . Ce système permet de manipuler facilement les fichiers en utilisant des disques de stockage, qui peuvent représenter différents systèmes comme le local, un serveur distant, ou encore des services cloud comme Amazon S3.
Dans ce guide, vous allez apprendre comment découvrir et configurer un disque de stockage dans Laravel, avec des étapes détaillées pour vous accompagner tout au long du processus.
Disques de stockage Laravel : Introduction
Dans Laravel, un disque de stockage est une configuration définissant où et comment les fichiers sont stockés. Les types de disques couramment utilisés incluent :
- Local :Stockage sur le serveur local, souvent dans le répertoire storage/app.
- Public :Stockage accessible publiquement, idéal pour des fichiers comme les images visibles par les utilisateurs.
- S3 :Intégration avec Amazon S3 pour un stockage cloud.
- FTP ou d’autres services pris en charge par Flysystem.
Ces disques sont définis dans le fichier de configuration config/filesystems.php.
Configurer disque Laravel avec Filesystem
Étape 1 : Accéder au fichier de configuration
Ouvrez le fichier config/filesystems.php. Ce fichier contient toutes les configurations pour les disques de stockage utilisés par votre application.
Étape 2 : Ajouter ou modifier un disque
Dans la clé disks du fichier, vous pouvez définir ou personnaliser les disques. Voici une configuration typique :
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'throw' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
],
Détails des configurations :
- Local :Stocke les fichiers dans le répertoire storage/app de votre projet.
- Public :Fichiers stockés dans storage/app/public et accessibles publiquement via un lien symbolique.
- S3 :Stockage cloud via Amazon S3, utilisant les clés et régions configurées dans le fichier .env.
Ajouter disque FTP à Laravel Storage
Si vous devez configurer un disque FTP, voici un exemple :
'ftp' => [
'driver' => 'ftp',
'host' => env('FTP_HOST'),
'username' => env('FTP_USERNAME'),
'password' => env('FTP_PASSWORD'),
],
Lien symbolique pour stockage public Laravel
Si vous utilisez le disque public, il est nécessaire de créer un lien symbolique pour rendre les fichiers accessibles via l’URL publique. Exécutez la commande suivante dans votre terminal :
php artisan storage:link
Cette commande crée un lien symbolique dans le répertoire public/storage qui pointe vers storage/app/public
Tester disques de stockage Laravel
Vous pouvez maintenant tester votre disque de stockage en utilisant la façade Storage de Laravel.
- Enregistrer un fichier :
Utilisez la méthode put() pour enregistrer un fichier sur un disque donné.
use Illuminate\Support\Facades\Storage;
Storage::disk('public')->put('example.txt', 'Contenu du fichier');
Cela crée un fichier nommé example.txt dans le répertoire storage/app/public.
- Lire un fichier :
Pour lire le contenu d’un fichier :
$content = Storage::disk('public')->get('example.txt');
- Supprimer un fichier :
Pour supprimer un fichier :
Storage::disk('public')->delete('example.txt');
- Lister les fichiers dans un répertoire :
Pour obtenir une liste des fichiers :
$files = Storage::disk('public')->files();
- Définir un disque par défaut
Pour simplifier vos interactions avec le système de fichiers, vous pouvez définir un disque par défaut dans config/filesystems.php :
'default' => 'public',
Ainsi, toutes les méthodes de la façade Storage utiliseront ce disque par défaut.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment configurer un disque de stockage dans Laravel?
Comment utiliser le disque public dans Laravel?
Comment intégrer Amazon S3 avec Laravel?
Quelles sont les étapes pour ajouter un disque FTP dans Laravel?
Comment tester un disque de stockage dans Laravel?
Conclusion
En maîtrisant la configuration des disques de stockage dans Laravel, vous optimisez la gestion efficace de vos fichiers. Quels autres systèmes de stockage envisagez-vous d’intégrer avec Laravel?