PHPackages                             valdiney/upload-files - 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. valdiney/upload-files

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

valdiney/upload-files
=====================

Using this class you can do upload many files to your server.

10242[2 issues](https://github.com/valdiney/TheUploadFiles/issues)PHP

Since Jun 9Pushed 5y ago1 watchersCompare

[ Source](https://github.com/valdiney/TheUploadFiles)[ Packagist](https://packagist.org/packages/valdiney/upload-files)[ RSS](/packages/valdiney-upload-files/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

TheUploadFiles
==============

[](#theuploadfiles)

Class PHP para efetuar o Upload de arquivos

### Instalação:

[](#instalação)

 Você também pode fazer a instalação dessa classe via **composer**. Bastando configurar o require eu seu **arquivo composer.json** require: "valdiney/upload-files": "dev-master"

[Visite o projeto no Packagist](https://packagist.org/packages/valdiney/upload-files)

### Permissão de diretórios:

[](#permissão-de-diretórios)

**Dependendo do seu sistema operacional, principalmente no Linux/GNU, você precisará adicionar permissão aos diretórios:**

> `chmod -r 777 path/to/TheUploadFiles path/to/TheUploadFiles/arquivos`

#### .editorconfig:

[](#editorconfig)

 O projeto possui suporte ao [.editorconfig](https://editorconfig.org/). O **.editorconfig** possui suporte a diversos editores de código e IDEs, verifique como instalar no de sua preferência 😉 .

### Descrição

[](#descrição)

 A maior parte de um script que realiza o Upload de arquivos é composta por varias validações. Fazer o Upload de arquivos pode apresentar certos perigos de segurança, por isso, precisamos minimizar os perigos validando cuidadosamente a entrada e natureza dos arquivos que serão enviados ao servidor.

### Método getErrors():

[](#método-geterrors)

 Quando o Script encontra um erro, guarda em memória o número referente ao erro! Você pode recuperar o erro e interromper o envio do arquivo para o servidor. Recupere os erros por via do método **getErrors()**

### Exemplo de uso ( RECOMENDADO ):

[](#exemplo-de-uso--recomendado-)

```
    # Incluindo a Classe para uso
    require_once("vendor/autoload.php");

    # Instanciando o objeto
    $up = new UPFiles\UploadFiles();

    # Recebe o arquivo do Formulário
    $arquivo = $_FILES["arquivo"];

    # Passando arquivo para a Classe
    $up->file($arquivo);

    # Passando o nome da pasta para onde você mandará o arquivo
    $up->folder("arquivos/");

    # Método opcional, por padrão a classe permite o tamanho padrão configurado pelo PHP que é 2Mb
    $up->maxSize(4);

    # Passando um Array de Extensões que poderá ser enviado para o servidor
    $up->extensions(array("png","jpg","jpeg","gif","pdf","doc","docx","html","txt","avi","mp4", "zip"));

    $error = null;

    switch($up->getErrors()) {
        case 1:
            $error = "Formato não esperado";
            break;
        case 2:
            $error = "O tamanho limite para Upload é de 4MB";
            break;
        case 3:
            $error = "Formato não identificado. Por favor, tente novamente.";
            break;
        case 4:
            $error = "Erro interno. Diretório não encontrado.";
            break;
    }

    try {
        if ($error!==null) {
            throw new Exception($error);
        }
        $up->move();
        echo "Upload feito com Sucesso! ";
        echo "Caminho do arquivo.";
    } catch(\Exception $e) {
        echo "Ocorreu um erro ao tentar fazer o Upload: " . $e->getMessage();
    }
```

### Número das mensagens de Erros:

[](#número-das-mensagens-de-erros)

```
* 1 = Formato de Arquivo não permitido no método (extensions)
* 2 = Tamanho de Arquivo ultrapassou o definido no método (maxSize)
* 3 = O sistema não conseguiu identificar a extensão.
* 4 = Erro ao salvar o arquivo no diretório `arquivos/`.
```

### Obs:

[](#obs)

 O método **maxSize(\[int\])** recebe como argumento um número inteiro. A classe recebe este número e efetua o calculo para obter o tamanho em **Bytes**, ou seja, se você passar para o método o valor 4 a classe entenderá que você deseja permitir arquivos de até **4Mb**. Infelizmente esse método é totalmente dependente das suas configurações no **PHP.ini**, por padrão estará no **PHP.ini** o valor 2, ou seja, **2Mb**. Sendo assim este método deve ser usado somente se você configurar o **PHP.ini** para permitir um valor maior.

### Mudanças no PHP.ini

[](#mudanças-no-phpini)

 No seu **PHP.ini** pesquise por : **upload\_max\_filesize** e atribua ao mesmo um valor maior

```
/*Padrão*/
upload_max_filesize = 2M

/*Mude para 10M ou mais*/
upload_max_filesize = 10M
```

### destinationPath()

[](#destinationpath)

 Para recuperar o caminho de destino do Arquivo enviado para o servidor, você pode usar o método **destinationPath()** que re torna o caminho completo do arquivo juntamente com o novo nome e extensão.
 Esse método pode retornar algo como:

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 78.4% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/329032090a2bca0fcb0defcfbadec476a22353246ce1b2cc89a5ad180f5a3018?d=identicon)[valdiney](/maintainers/valdiney)

---

Top Contributors

[![valdiney](https://avatars.githubusercontent.com/u/3947490?v=4)](https://github.com/valdiney "valdiney (80 commits)")[![tadeubdev](https://avatars.githubusercontent.com/u/4499999?v=4)](https://github.com/tadeubdev "tadeubdev (22 commits)")

### Embed Badge

![Health badge](/badges/valdiney-upload-files/health.svg)

```
[![Health](https://phpackages.com/badges/valdiney-upload-files/health.svg)](https://phpackages.com/packages/valdiney-upload-files)
```

###  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.8M123](/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.7M61](/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)
