Gestion de fichiers
- On peut entre-autre utiliser la facade
Storage pour gérer les fichiers.
- La configuration des disques de stockage se trouve dans
config/filesystem.php
- Le disque configuré par défaut se retrouve à
/storage/app/private
<?php
use Illuminate\Support\Facades\Storage;
//Création de disque par le code
$disk = Storage::build([
'driver' => 'local',
'root' => '/path/to/root',
]);
//Ajout d'un fichier à un disque
$disk->put('image.jpg', $content, 'private');
$disk->put('image.jpg', $content, 'public');
//Stocke fichier dans un dossier avatars
$path = $request->file('avatar')->store('avatars');
$path = Storage::putFile('avatars', $request->file('avatar'), 'private');
- On peut récupérer un fichier à l'aide d'une url temporaire.
- Pratique pour exposer des images sans les rendre disponibles publiquement par exempleé
<?php
use Illuminate\Support\Facades\Storage;
// Générer l'URL temporaire
$url = Storage::temporaryUrl(
'file.jpg', now()->addMinutes(5)
);
Références