Fala galera! Essa semana coloquei na minha conta do GitHub uma classe que implementei para auxílio no processo de upload de arquivos. É um helper bem interessante, pois é fácil de usar e dá pra definir várias regras como limite do tamanho do arquivo, filtro de extensões, sobrescrição de arquivos, etc.
Para fazer o download da classe, você pode acessar o http://www.github.com/rafaelwendel/UploadHelper ou através da sua linha de comando.
$ git clone https://github.com/rafaelwendel/UploadHelper.git |
Para utilizar a classe é fácil, basta incluir o caminho e criar uma instância
1 2 3 | <?php include ('UploadHelper.php'); $upload = new Upload_Helper(); |
Para fazer um upload, defina um arquivo.
3 4 5 | //Depois de submeter um formulário $file = $_FILES['file']; $upload->set_file($file); |
Defina o diretório para onde o arquivo deverá ser enviado
5 | $upload->;set_uploads_folder('path/to/uploads/folder'); |
Defina as extensões válidas
6 7 | $allowed = array('jpg', 'png', 'gif', 'bmp'); //somente imagens $upload->set_allowed_exts($allowed); |
Deseja renomear o arquivo? (Por padrão, ele mantém o mesmo nome)
7 | $upload->set_file_name('new_name'); //O novo nome do arquivo |
Deseja sobrescrever o arquivo como mesmo nome, caso exista? (True é o padrão)
8 | $upload->set_overwrite(false); // Não sobrescrever arquivos com o mesmo nome |
Qual o limite de tamanho dos arquivos? (2MB é o pdrão)
9 | $upload->set_max_size(5); //Defina o tamanho dos arquivos em MegaBytes(MB) |
Depois de tudo definido, faça o upload.
10 11 12 13 14 15 | if($upload->upload_file()){ echo 'Arquivo enviado com sucesso. Caminho: ' . $upload->get_file_path(); } else{ echo $upload->get_error(); } |
Por padrão, as mensagens de erro estão em inglês(en), mas se quiser alterar para português é fácil.
5 | $upload->set_language('pt'); // Define o idioma das mensagens de erro |
E pronto! Muito fácil de usar e espero que te ajude.
Abs!
ola, sei que não é assunto dessa aula que vou falar mais como gostei de algumas aula sua, decidi pergutar, bom eu note que algum cms como o wordpress e outro um instalaração de bancos de dados na hora que começa a usar ele. Pois então estou quero fazer aquele mesmo tipo no meu sisteminha aki so que não sei por onde começar. Tenho todos as tabelas prontas só que eu queria que meu sistema instalasse e não eu ter que ir no mysql o colocar la. como faço isto. Obrigado se puder me ajudar.
Olá Marcos,
S[o jogar os códigos de criação da tabela dentro de uma variável do php e executar com PDO ou mysql_query.
Abs
Muito boa sua classe!
sucesso aew brother!
Boa classe, mas deu erro
Severity: Warning
Message: Illegal string offset ‘name’
Filename: controllers/UploadHelper.php
Severity: Notice
Message: Uninitialized string offset: 0
Filename: controllers/UploadHelper.php
O meu também deu este mesmo erro! Porém o arquivo é enviado
Olá,
gostei muito do seu post, parabéns.
Quero saber se consigo trabalhar com outras extensões de arquivos como “docx”, “doc”, pdf.
Pergunto isso porque estou a desenvolver um pequeno contato para anexar CV.
Olá Rafael,
Consegui sim, sem problemas!
Abs!