PHPackages                             brediweb/imagemupload - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. brediweb/imagemupload

ActiveLibrary[File &amp; Storage](/categories/file-storage)

brediweb/imagemupload
=====================

Pacote de upload de imagens para Laravel

1.0.1(4y ago)01.4k↓100%PHPPHP ^7.1.3

Since Jul 16Pushed 4y ago1 watchersCompare

[ Source](https://github.com/moraismarcelo/brediweb-imagemupload)[ Packagist](https://packagist.org/packages/brediweb/imagemupload)[ RSS](/packages/brediweb-imagemupload/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (4)Used By (0)

> Sua contribuição ajuda na manutenção do pacote e criação de muitos outros. Faça de coração ♥

Laravel Imagem Upload
=====================

[](#laravel-imagem-upload)

> Faça upload de imagens ainda mais facilmente no Laravel

Este pacote facilita o **upload de imagens e renderização** delas sem você precisar criar pastas e link simbólico. Envie imagens e redimensione em diversos tamanhos para seu site.

O que ele fará por você:

- enviar imagens para uma pasta não publica
- criar automáticamente os diretórios de imagens
- redimensionar para quantos tamanhos desejar
- renderizar imagens escondendo a pasta de origem

Instalação
----------

[](#instalação)

requer Laravel &gt;= 5.5 e PHP 7.1:

`composer require brediweb/imagemupload`

Exemplo de uso
--------------

[](#exemplo-de-uso)

Não é bom carregar uma imagem de 1200x1200 pixels para exibir em uma miniatura de 100x100 pixels, por exemplo. A melhor opção seria ter a imagem em vários tamanhos diferentes. Exemplo:

[![exemplo-imagem](https://user-images.githubusercontent.com/12474305/58225487-98df1080-7cf8-11e9-8a0a-7572f7191791.jpg)](https://user-images.githubusercontent.com/12474305/58225487-98df1080-7cf8-11e9-8a0a-7572f7191791.jpg)*Você pode ter imagens em quantos tamanhos desejar.*

Enviando uma imagem
-------------------

[](#enviando-uma-imagem)

**Passo #1**em seu formulário html:

```

```

**Passo #2**em seu **Controller** coloque as configurações:

```
use Brediweb\ImagemUpload\ImagemUpload;

 public function __construct()
 {
 	$this->user = [
		'input_file' => 'user', //nome do input
		'destino' => 'users/', //Pasta que será criada automáticamente dentro de storage/app/public/
    		'resolucao' => ['p' => ['h' => 200, 'w' => 200], 'm' => ['h' => 400, 'w' => 400], ...] //Não há limites de quantos tamanhos podem ser configuradas.
      ];
}

public function store(Request $request)
{
    $input = $request->all();

    $imagens = ImagemUpload::salva($this->user);
		//retorno: image-example_3fc5ac232a6e60a10ca20a90350954a9.jpg
    if ($imagens) {
	// a função retorna o novo nome da imagem. guarde em seu banco de dados.
	$input['imagem'] = $imagens;
    }
}
```

O pacote vai criar as pastas **p** e **m** dentro de **users/**

`storage/app/public/users/p/image-example_3fc5ac232a6e60a10ca20a90350954a9.jpg` imagem 200X200

`storage/app/public/users/m/image-example_3fc5ac232a6e60a10ca20a90350954a9.jpg` imagem 400x400

**Passo #3**renderizando a imagem:

```

```

> **OBS:** use a rota **'imagem.render'** para renderizar as imagens, seguindo com o nome da pasta (users) e tamanho (pasta p, m, etc.).

Deletando uma imagem:
---------------------

[](#deletando-uma-imagem)

em seu Controller:

```
public function destroy($id)
{
	$user = User::find($id);

	$imagem = $user->imagem;

	$this->user['imagem'] = $imagem; // acrescente ao array o indice "imagem", e como valor, o nome da imagem.

	$user->delete();

	if (!empty($imagem)) {
		ImagemUpload::deleta($this->user); // $this->user é o array com todas as configurações de envio de imagens.
	}

	return redirect()->route('users.list')->with('msg', 'registro excluido com sucesso!');
}
```

> **OBS:** **$this-&gt;user**, é o seu array com as configurações de envio de suas imagens. A função **deleta()** irá apagar do disco todas as imagens em suas respectivas pastas.

Enviando várias imagens
-----------------------

[](#enviando-várias-imagens)

Caso queira enviar várias imagens, é muito simples: **Passo #1**em seu formulário html:

```

```

**Passo #2**em seu **Controller** coloque as configurações:

```
use Brediweb\ImagemUpload\ImagemUpload;

 public function __construct()
 {
 	$this->galeria = [
		'input_file' => 'galeria', //nome do input
		'destino' => 'galeria/',
    		'resolucao' => ['p' => ['h' => 200, 'w' => 200], 'm' => ['h' => 400, 'w' => 400], ...]
      ];
}

public function store(Request $request)
{
	$input = $request->all();

	$imagens = ImagemUpload::salva($this->galeria);
	/*
	$imagens retorna:
	array (
		image-example_3fc5ac232a6e60a10ca20a90350954a9.jpg,
		image-example_3fc5ac232a6e60a10ca20a90350954a9.jpg
	)
	*/
	if ($imagens) {
		// guarde o nome das imagens em seu banco de dados
		$input['imagens'] = $imagens;
	}
}
```

> OBS: Ao enviar várias imagens, você recebe um array com o novo nome das imagens.

### Apenas mover uma imagem e manter o tamanho original

[](#apenas-mover-uma-imagem-e-manter-o-tamanho-original)

```
 $this->user = [
 	'input_file' => 'user',
	'destino' => 'users/'
  ];
```

### Redimencionar imagens e manter também a original

[](#redimencionar-imagens-e-manter-também-a-original)

```
 $this->user = [
 	'input_file' => 'user',
	'destino' => 'users/',
	'resolucao' => ['p' => ['h' => 200, 'w' => 200], 'm' => ['h' => 400, 'w' => 400], 'pasta_original']
	// Apenas coloque o nome do indice que será o nome da pasta com as imagens originais.
  ];
```

Mais informações serão acrescentadas à este documento. Qualquer dúvida, entre em contato.

---

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~135 days

Total

3

Last Release

1488d ago

Major Versions

v1.0.0 → 7.x-dev2022-04-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/3680f83678f5410a92f3b6b3cd08275ac2eb7c06f8d819e3b6300451ee32c564?d=identicon)[Morais.Marcelo](/maintainers/Morais.Marcelo)

---

Top Contributors

[![moraismarcelo](https://avatars.githubusercontent.com/u/59709842?v=4)](https://github.com/moraismarcelo "moraismarcelo (9 commits)")

---

Tags

laravelimageresizeuploadlaravel uploadimagemredimensionar

### Embed Badge

![Health badge](/badges/brediweb-imagemupload/health.svg)

```
[![Health](https://phpackages.com/badges/brediweb-imagemupload/health.svg)](https://phpackages.com/packages/brediweb-imagemupload)
```

###  Alternatives

[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M73](/packages/unisharp-laravel-filemanager)[itskodinger/midia

Simple Media manager for your Laravel project

1415.8k](/packages/itskodinger-midia)[reshadman/file-secretary

Get rid of anything related to files in Laravel, This package handles all for you. Anything we mean.

1131.8k](/packages/reshadman-file-secretary)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
