2017 © Pedro Peláez
 

class upload-files

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

image

valdiney/upload-files

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

  • Monday, July 9, 2018
  • by valdiney
  • Repository
  • 1 Watchers
  • 6 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 2 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

TheUploadFiles

Class PHP para efetuar o Upload de arquivos, (*1)

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" , (*2)

Visite o projeto no Packagist, (*3)

Permissão de diretórios:

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

chmod -r 777 path/to/TheUploadFiles path/to/TheUploadFiles/arquivos, (*5)

.editorconfig:

O projeto possui suporte ao .editorconfig. O .editorconfig possui suporte a diversos editores de código e IDEs, verifique como instalar no de sua preferência :wink: . , (*6)

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. , (*7)

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() , (*8)

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! <br>"; echo "<a href=\"{$up->destinationPath()}\">Caminho do arquivo.</a>"; } catch(\Exception $e) { echo "Ocorreu um erro ao tentar fazer o Upload: " . $e->getMessage(); }

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:

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. , (*9)

Mudanças no PHP.ini

No seu PHP.ini pesquise por : upload_max_filesize e atribua ao mesmo um valor maior , (*10)

/*Padrão*/
upload_max_filesize = 2M

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

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: http://127.0.0.1:8887/TheUploadFiles/arquivos/1422219491.pdf , (*11)

The Versions

09/07 2018

dev-master

9999999-dev

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

  Sources   Download

MIT

by Valdiney França

upload uplaodfiles