Nouveau dans Laravel 13.32. Pour copier un fichier d'un disque vers un autre (du disque local vers S3, par exemple), il fallait le lire en entier sur le premier, l'écrire sur le second, puis effacer l'original s'il s'agissait d'un déplacement. Les disques ont maintenant copyToDisk() et moveToDisk().
Avant
$contenu = Storage::disk('factures')->get($nom); Storage::disk('archives')->put("2026/{$nom}", $contenu); Storage::disk('factures')->delete($nom);
Depuis Laravel 13.32
Storage::disk('factures')->moveToDisk('archives', $nom, "2026/{$nom}");
Le fichier passe d'un disque à l'autre en flux, sans être chargé en mémoire. Sans troisième argument, il garde le même chemin. moveToDisk() n'efface l'original qu'une fois la copie réussie. Le premier argument peut être le nom d'un disque ou le disque lui-même.
À faire
Archiviste range les factures, dont le nom commence par l'année (2026-F-042.txt). archiver() les déplace du disque factures vers le dossier de leur année sur le disque archives, et sauvegarder() les copie sur le disque sauvegardes. Réécrivez ces deux méthodes avec moveToDisk() et copyToDisk().