O Laravel lida com o armazenamento e recuperação de arquivos utilizando várias serviços, incluindo sistemas de arquivos locais, Amazon S3, Google Cloud Storage, entre outros.
Para trabalhar com armazenamento em Laravel, você pode usar a API de armazenamento do framework, que é baseada em drivers. Cada driver representa uma solução de armazenamento diferente.
Exemplo de Uso de Armazenamento Local:
Para usar o armazenamento local em Laravel, você não precisa configurar nada, pois o driver local já é configurado por padrão.
use Illuminate\\\\Support\\\\Facades\\\\Storage;
// Armazenar um arquivo no diretório "public/storage"
Storage::disk('local')->put('file.txt', 'Conteúdo do arquivo.');
use Illuminate\\\\Support\\\\Facades\\\\Storage;
// Recuperar o conteúdo do arquivo "file.txt"
$content = Storage::disk('local')->get('file.txt');
Exemplo de Uso de Armazenamento em Amazon S3:
Para usar o Amazon S3 como driver de armazenamento em Laravel, você precisa configurar as credenciais e as informações do bucket no arquivo config/filesystems.php
.
config/filesystems.php
:'disks' => [
// ...
's3' => [
'driver' => 's3',
'key' => 'sua-chave-da-api',
'secret' => 'seu-segredo-da-api',
'region' => 'sua-regiao',
'bucket' => 'seu-bucket',
],
],
use Illuminate\\\\Support\\\\Facades\\\\Storage;
// Armazenar um arquivo no Amazon S3
Storage::disk('s3')->put('file.txt', 'Conteúdo do arquivo.');
use Illuminate\\\\Support\\\\Facades\\\\Storage;
// Recuperar o conteúdo do arquivo "file.txt" do Amazon S3
$content = Storage::disk('s3')->get('file.txt');
O framework também oferece recursos para trabalhar com upload de arquivos, exclusão de arquivos, listagem de arquivos em um diretório, gerenciamento de permissões, entre outras funcionalidades úteis.