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.

  1. Armazenar um arquivo no disco local:
use Illuminate\\\\Support\\\\Facades\\\\Storage;

// Armazenar um arquivo no diretório "public/storage"
Storage::disk('local')->put('file.txt', 'Conteúdo do arquivo.');
  1. Recuperar um arquivo do disco local:
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.

  1. Configuração no arquivo config/filesystems.php:
'disks' => [
    // ...
    's3' => [
        'driver' => 's3',
        'key' => 'sua-chave-da-api',
        'secret' => 'seu-segredo-da-api',
        'region' => 'sua-regiao',
        'bucket' => 'seu-bucket',
    ],
],
  1. Armazenar um arquivo no Amazon S3:
use Illuminate\\\\Support\\\\Facades\\\\Storage;

// Armazenar um arquivo no Amazon S3
Storage::disk('s3')->put('file.txt', 'Conteúdo do arquivo.');
  1. Recuperar um arquivo do Amazon S3:
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.

Laravel - The PHP Framework For Web Artisans