PHPackages                             marcusvbda/uploader - 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. marcusvbda/uploader

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

marcusvbda/uploader
===================

045PHP

Since Jan 11Pushed 7y ago1 watchersCompare

[ Source](https://github.com/marcusvbda/fileuploader)[ Packagist](https://packagist.org/packages/marcusvbda/uploader)[ RSS](/packages/marcusvbda-uploader/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Faça upload de arquivos na sua app laravel
==========================================

[](#faça-upload-de-arquivos-na-sua-app-laravel)

Esta biblioteca é uma helper auxiliar para upload de arquivos, classificação do mesmo em categorias e relacionamento com outros models.

### Como devo usar ?

[](#como-devo-usar-)

##### Upload de arquivos

[](#upload-de-arquivos)

- procedimento de upload de arquivos

```
use marcusvbda\uploader\Controllers\UploaderController as Uploader;
use marcusvbda\uploader\Models\File as _File;
use marcusvbda\uploader\Models\FileCategory;
use Illuminate\Http\Request;

$data = $request->all();
//efetua o upload de arquivo
$file = Uploader::upload($data["_file"],$data["_name"],$data["_alt"]);
//cria uma thumbnail para o arquivo
Uploader::makeThumbnail($file);

```

- editando arquivo

```
use marcusvbda\uploader\Controllers\UploaderController as Uploader;

public function fileEdit(_File $file)
{
    $data = ["name" => "novo nome alterado","description"=>"nova descrição alterado"];
    //aqui editamos name e description, o metodo alterará automaticamente o nome do arquivo e suas urls
    $file = Uploader::edit($file,$data);
}

```

##### Vincular arquivo a um model

[](#vincular-arquivo-a-um-model)

- exemplo do model

```
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use marcusvbda\uploader\Traits\HasFiles;

class Product extends Model
{
	use HasFiles;
    protected $table = 'products';
	protected $fillable = [
		'name'
	];
}

```

- criar e excluir categoria de arquivos

```
use marcusvbda\uploader\Models\FileCategory;

public function create(Request $request)
{
    $data = $request->all();
    //adiciona uma nova categoria
    $category = FileCategory::create($data);
}

public function delete(FileCategory $category)
{
    //exclusão simples
    $category->delete();
}

```

- vinculando e desvinculando ao model

```
use marcusvbda\uploader\Controllers\UploaderController as Uploader;
use marcusvbda\uploader\Models\File as _File;
use App\Models\Product;

public function addFile(Product $product,_File $file)
{
    //$product é uma instância do model PRODUCT, assim como $file é de _File
    //no caso abaixo vinculamos o arquivo ao produto
    $product->addFile($file);
}

public function removeFile(Product $product,_File $file)
{
    //esse metodo apenas desvincula o arquivo de $product, porém o arquivo se mantem na
    //biblioteca de importados
    $product->removeFile($file);
}

```

- acessar os arquivos vinculados ao model e as categorias

```
use marcusvbda\uploader\Models\File as _File;
use App\Models\Product;

public function getModelFiles(Product $product)
{
    $files = $product->files;
}

public function getCategoryFiles(FileCategory $category)
{
    $files = $category->files;
}

public function getFileCategory(_File $file)
{
    $file = $file->category;
}

```

- reordenar imagens do model

```
public function reorderFiles(Product $product)
{
     $order = [
        ["id"=>1,"ordination"=>2],
        ["id"=>2,"ordination"=>4],
        ["id"=>3,"ordination"=>1],
        ["id"=>4,"ordination"=>3]
    ];
    $product->reorderFiles($order);
}

```

### Instalação

[](#instalação)

##### Pacotes Requeridos

[](#pacotes-requeridos)

- [cviebrock/eloquent-sluggable](https://github.com/cviebrock/eloquent-sluggable)
- [spatie/laravel-image-optimizer](https://github.com/spatie/laravel-image-optimizer)

Instale as dependêcias e inicie o serve

```
$ composer require marcusvbda/uploader
```

adicione a config/app , em provider a linha abaixo

```
marcusvbda\uploader\UploaderServiceProvider::class

```

execute no dash

```
$ php artisan vendor:publish
$ php artisan migrate

```

### Configurações

[](#configurações)

No diretório config de seu projeto laravel, após a instalação completa você encontrará um arquivo chamado uploader.php, nele voçê poderá configurar as seguintes informações

campoValor padrãoDescriçãoimage\_server\[[http://127.0.0.1:8000/files/get/\]\[PlDb](http://127.0.0.1:8000/files/get/][PlDb)\]url onde pederá acessar os arquivo, no vaso [http://127.0.0.1:8000/files/get/{slug-text}.extensão](http://127.0.0.1:8000/files/get/%7Bslug-text%7D.extens%C3%A3o)upload\_pathuploadsdiretório no storage onde os arquivos serão salvosthumbnail\_pathuploads/thumbnaildiretório no storage onde os thumbnails dos arquivos serão salvosthumbnail\_height90altura do thumbnail, a largura é calculada proporcionalmentecascadeFilefalseao excluir uma categoria, se estiver true irá excluir também em cascata os arquivos vinculados a ela

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/42772fd60ccaca998c9e8159997af1133032480f7712398bcd58deb81f0ad737?d=identicon)[marcusvbda](/maintainers/marcusvbda)

### Embed Badge

![Health badge](/badges/marcusvbda-uploader/health.svg)

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

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

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