Meus sites


Sites relevantes


Contato

Email: devanon.kyosha@gmail.com

Sejam bem vindos

Fabrício Web Home Page

Desenvolvimento PHP Laravel, Manutenção em sites PHP, Arquitetura de serviços Web, Geração de endpoints REST API e Tutoriais.

Sejam bem vindos à página Fabrício Web. Eu sou o Fabrício Dias.
Passarei aqui uma parte significativa de minha experiência. Acompanhe minhas publicações. Vou publicar amenidades nerds também. O site está em desenvolvimento, e vou colocar melhorias ainda. E com certeza vou adicionar interação com o leitor em breve.

Fabrício Dias de Oliveira

Laravel - Upload de de imagens com miniaturas

Há inúmeras aplicações onde o upload de imagens se faz necessário. Poderíamos usar o recurso de configurar o tamanho da imagem do formulário, mas ainda sim o programa terá que baixar toda a imagem para montar a miniatura. Nesse tutorial, vou mostrar como fazer o upload enquando se monta a miniatura da imagem.

Entendendo o upload

O form:

<!-- O tipo de encoding de dados, enctype, DEVE ser especificado abaixo -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE deve preceder o campo input -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- O Nome do elemento input determina o nome da array $_FILES -->
    Enviar esse arquivo:
    <input name="userfile" type="file" />
    <input type="submit" value="Enviar arquivo" />
</form>

O código Laravel:

$file = $request->file(file);
$name = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
$file->move(‘pasta’, $name);

A pasta é uma pasta qualquer dentro de public.
Fazendo o upload das imagens
Se usa a API Intervention Images.

composer require intervention/image

Para configurá-la, editamos o arquivo config/app.php
Adicionamos no array $provider:

Intervention\Image\ImageServiceProvider::class

E no array $aliases:

'Image' => Intervention\Image\Facades\Image::class,

Nas cláusulas use do código, adicionamos a API;

use Intervention\Image\Facades\Image;

E eis um código de exemplo:

$file = $request->file(‘foto’);
$extension = $file->getClientOriginalExtension();
$name = $file->getClientOriginalName();
$file->move('imagens', $file)->getClientOriginalName());
$img = Image::make('imagens/'.$file->getClientOriginalName());
$img->resize(100, null, function ($constraint) {
    $constraint->aspectRatio();
})->save('imagens/'.$time);

Fabrício Dias de Oliveira

Procurar artigos