Beruflich Dokumente
Kultur Dokumente
Page 1 of 28
E hoje, voc que no atirou a pedra, vai poder fazer o seu upload de arquivos com validao e filtro de extenses e tamanho de arquivo com o PHP! Vamos ao que interessa:
Voc vai precisar, basicamente, de duas coisas: um formulrio pro usurio escolher o arquivo e um arquivo .php para receber os dados e salvar (ou no) o arquivo enviado numa pasta escolhida. Vou ensinar tambm a fazer um script que filtre a extenso do tipo de arquivo enviado e o tamanho dele. Duas coisas que voc precisa saber antes de criar o seu script de upload e pensar que ele ir funcionar:
1. No PHP com configurao padro o limite de uploads de 2Mb ento, teste com arquivos menores. 2. Em alguns servidores para voc poder salvar um arquivo em uma pasta voc precisa de permisso de usurio (tambm conhecido como CHMOD), raro precisar configurar isso, mas se por obra divina o seu arquivo no estiver indo pra pasta que voc definiu, tente dar um CHMOD 777 na pasta de destino.
Se voc estiver testando seu script localmente, pode ignorar a segunda considerao e s se preocupar em enviar arquivos menores que 2Mb para testar a aplicao. Vamos ao formulrio HTML para o usurio escolher o arquivo a ser enviado: 1 2 3 4 <form method="post" action="recebe_upload.php" enctype="multipart/form data"> <label>Arquivo</label> <input type="file" name="arquivo" /> <input type="submit" value="Enviar" />
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 2 of 28
</form>
Salve este HTML dentro de arquivo com o nome que preferir. Agora vamos criar o arquivo que ir receber os dados e cuidar de tudo pra voc Salve-o como recebe_upload.php: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 <?php //Pastaondeoarquivovaisersalvo $_UP['pasta']='uploads/'; //Tamanhomximodoarquivo(emBytes) $_UP['tamanho']=1024*1024*2;//2Mb //Arraycomasextensespermitidas $_UP['extensoes']=array('jpg','png','gif'); //Renomeiaoarquivo?(Setrue,oarquivosersalvocomo.jpgeumnome nico) $_UP['renomeia']=false; //ArraycomostiposdeerrosdeuploaddoPHP $_UP['erros'][0]='Nohouveerro'; $_UP['erros'][1]='OarquivonouploadmaiordoqueolimitedoPHP'; $_UP['erros'][2]='Oarquivoultrapassaolimitedetamanhoespecifiado noHTML'; $_UP['erros'][3]='Ouploaddoarquivofoifeitoparcialmente'; $_UP['erros'][4]='Nofoifeitoouploaddoarquivo'; //Verificasehouvealgumerrocomoupload.Sesim,exibeamensagemdo erro if ($_FILES['arquivo']['error']!=0){ die("Nofoipossvelfazeroupload,erro:<br/>" .$_UP['erros'][$_FILES ['arquivo']['error']]); exit;//Paraaexecuodoscript } //Casoscriptchegueaesseponto,nohouveerrocomouploadeoPHP podecontinuar //Fazaverificaodaextensodoarquivo $extensao =strtolower(end(explode('.',$_FILES['arquivo']['name']))); if (array_search($extensao,$_UP['extensoes'])===false){ echo "Porfavor,enviearquivoscomasseguintesextenses:jpg,pngou gif"; } //Fazaverificaodotamanhodoarquivo else if ($_UP['tamanho']<$_FILES['arquivo']['size']){ echo "Oarquivoenviadomuitogrande,enviearquivosdeat2Mb."; } //Oarquivopassouemtodasasverificaes,horadetentarmovlopara apasta else { //Primeiroverificasedevetrocaronomedoarquivo if ($_UP['renomeia']==true){ //CriaumnomebaseadonoUNIXTIMESTAMPatualecomextenso.jpg $nome_final =time().'.jpg'; }else { //Mantmonomeoriginaldoarquivo $nome_final =$_FILES['arquivo']['name'];
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 3 of 28
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
} //Depoisverificasepossvelmoveroarquivoparaapastaescolhida if (move_uploaded_file($_FILES['arquivo']['tmp_name'],$_UP['pasta']. $nome_final)){ //Uploadefetuadocomsucesso,exibeumamensagemeumlinkparao arquivo echo "Uploadefetuadocomsucesso!"; echo '<br/><ahref="' .$_UP['pasta'].$nome_final .'">Cliqueaquipara acessaroarquivo</a>'; }else { //Nofoipossvelfazeroupload,provavelmenteapastaestincorreta echo "Nofoipossvelenviaroarquivo,tentenovamente"; } } ?>
Com isso voc j tem um script que recebe os dados enviados pelo formulrio e que coloca (ou no) o arquivo na pasta. Eu sei que esse script pode parecer um pouco avanado pra quem t comeando, mas eu preferi fazer o bsico que todo mundo procura. Tentei colocar o mximo de comentrios e fazer uma sintaxe mais clara o possvel pra que vocs entendam.
A parte que realmente faz o upload apenas o comando da linha 53 que o move_uploaded_file(). Vou explicar o nome e o uso dele: Quando voc envia um arquivo por um formulrio para o PHP ele vai direto para uma pasta temporria usando um nome nico e extenso .tmp (d uma olhada no valor da varivel $_FILES ['arquivo']['tmp_name']). Esse comando move o arquivo dessa pasta para a pasta que voc escolheu.
Sei que essa parte do PHP (upload de arquivos) uma das coisas que mais d problema por a devido as diferentes configuraes de servidores Ento qualquer dvida s deixar um comentrio que eu tento te ajudar.
Outra coisa importante que eu provavelmente no disse aqui no blog ainda: pra qualquer coisa no PHP existem, no mnimo, trs formas de se alcanar o mesmo objetivo. Ento no quero que encarem os meus scripts como a verdade absoluta. Eles so s um exemplo de um script eficiente e customizvel baseado na minha experincia. Espero que tenham gostado!
Documentao Oficial:
Funo move_uploaded_file() Move um arquivo que foi enviado para o servidor Funo time() Retorna o UNIX TIMESTAMP atual
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 4 of 28
Funo strtolower() Altera uma string para ficar com as letras minsculas Funo array_search() Faz uma busca entre os elementos do array
20
Tweet
Curtir
53
Gosto
Be the first to like this.
This entry was posted in PHP, Tutoriais on 13 de maro de 2009 [http://blog.thiagobelem.net/upload-de-arquivos-com-php/] by Thiago Belem.
RBShoT
5 de julho de 2013 at 13:37
Parabns me ajudou muito.. fiz uma adaptaes ao meu caso mas t muito bom mesmo.
Marcelo Santos
5 de julho de 2013 at 8:09
Usei esse php pra enviar arquivos do meu celular para o computador,mas precisei enviar arquivos maiores que 2Mb. Ento eu mudei o tamanho na linha 7 de 2Mb para 8M (exemplo) e fui no meu arquivo php.ini e alterei tambm de 2Mb para 8M (upload_max_filesize = 8M). Aps reiniciar o servidor ficou tudo ok.
Daniel
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 5 of 28
4 de julho de 2013 at 11:51 else{ //Primeiroverificasedevetrocaronomedoarquivo if($_UP['renomeia']==true){ //CriaumnomebaseadonoUNIXTIMESTAMPatualecomextenso.jpg $nome_final=time().'.jpg'; }else{ //Mantmonomeoriginaldoarquivo $nome_final=$_FILES['arquivo']['name']; }
Mesmo se o arquivo for png ele troca a extenso para jpg, isso no daria algum problema na imagem? Abraos.
Bruno Leite
28 de junho de 2013 at 11:44
Parabns! Um timo tutorial. Detalhando e comentando passos, foi o melhor que encontrei pela web.
fbaixo
3 de junho de 2013 at 15:11
Abrao
Weber
18 de maio de 2013 at 10:40
Muito bom mesmo o mais simples, funcional e organizado que j encontrei at hoje.. e bem simples de fazer melhorias de acordo com suas necessidades.. parabens!
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 6 of 28
Muito Bom!
Emerson Santana
6 de maio de 2013 at 16:38
Thiago muito boa a sua soluo, s tenho uma dvida dessa forma fico obrigado a enviar uma imagem sempre, e se a pessoa que estiver efetuando o cadastro no quiser colocar a imagem naquele momento?
Ou vlw mesmo estou fazendo meu tcc em base no facebook, estou criando um facebook para a minha escola, chat ta m foda e com esse seu esquema posso colocar para os usuarios postarem oq quiserem
Isac
8 de novembro de 2011 at 4:12
Orra, muito bom e muito simples! Queria deixar a idia de se fazer um post com o PHP verificando o tamanho da foto em pixels (altura e largura)! Abrao!
golf cubs
31 de outubro de 2011 at 16:43
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 7 of 28
Junior Garcia
28 de outubro de 2011 at 21:41
Cara!!!! eu tava tentando e no conseguia qnto mais eu procurava mais confuso eu ficava!!! valeu!!!
Poliana
27 de outubro de 2011 at 18:06
Ccero Joceilton
26 de outubro de 2011 at 20:12
Com este script da pra fazer upload de qualquer tipo de arquivo? Tipo um vdeo, um texto.txt, pdf, swf?
Renan P.
26 de outubro de 2011 at 8:42
Ol Thiago, muito bom o post, parabns. Ser que voc conseguiria me ajudar, estou configurando o Ajaxplorer (http://www.ajaxplorer.info/ ) um File Manager 100% Web e em PHP. O problema est bem na parte de upload, j configurei o PHP com os comandos: memory_limit = 256M post_max_size = 500M upload_max_filesize = 500M default_socket_timeout = 60 upload_tmp_dir = D: \ TempDown // O Grupo IIS_Users tem total permisso na pasta temp. E mesmo assim eu no consigo mandar arquivos com mais de 15MB geralmente, alguns ele manda sem problema, outros como por exemplo, ele cria o arquivo na pasta temp e quando o upload termina ele some e no aparece na pasta da aplicao em outros casos (Arquivos muito grande) ele comea o upload mas o arquivo temp do php nem criado, e depois de algum tempo ele reseta o upload, comea novamente at um certo momento que d erro. No estou
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 8 of 28
pedido ajuda com relao ao sistema Ajaxplorer mas sim no PHP e no IIS, estou usando o IIS 7.5 Win 2008 R2 e PHP ultima verso liberada no site.
Estou me esquecendo de algum tipo de configurao em algum lugar que possa estar causando esses problemas?
Desde j Obrigado!
mesothelioma
25 de outubro de 2011 at 0:22
Joo
19 de outubro de 2011 at 16:57
Realmente tima explicao. Desculpe a minha burrice mas no consegui entender em qual momento o script testa o tamanho do upload, sei que posso configurar para que ele aceite arquivos maiores, mas gostaria de entender em que momento ele compara o tamanho do upload com o configurado no $up? Grato, Joo.
Joo
21 de outubro de 2011 at 19:42
Haha, no tinha lido com a devida ateno, j encontrei, deixa pra l..
Thyago
4 de outubro de 2011 at 20:27
estou tentando montar um site de upload de imagens mas asim as imagens sero subistituida o.O mas o sistema otimo e funciona muito bem
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 9 of 28
Thyago
4 de outubro de 2011 at 20:25
Ol , Esse upload Bom mas eu Tenho um asim jah mas se uma pessoa tiver o mesmo nome de imagem essa imagem subistituida se tiver soluo me avise por email ou por aqui mesmo obrigado
Felipe Carneiro
4 de outubro de 2011 at 13:46
Aguardando
Felipe Carneiro
4 de outubro de 2011 at 13:45
Thiago Belem,
Mano fiz tudo certinho liberei arquivos .rar e .zip, e liberei o tamanho dos arquivos para 500 MB maz. Mas so que eu coloco um .rar de 3 MB ele entra certinho e quando eu colocar um .rar de 60 MB ele da esse error: Por favor, envie arquivos com as seguintes extenses: jpg, png, gif, rar ou zip.
gustavo
26 de setembro de 2011 at 0:13
Strict Standards: Only variables should be passed by reference in C:\xampp\htdocs\recebe_upload.php on line 25 Warning: move_uploaded_file(uploads/Lighthouse.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\recebe_upload.php on line 44
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 10 of 28
Eduardo
24 de setembro de 2011 at 10:28
Wellington Spock
24 de agosto de 2011 at 6:37
E ae Thiago! Olha, est dando esse erro aqui! : Por favor, envie arquivos com as seguintes extenses: jpg, png ou gif
Silas
10 de agosto de 2011 at 15:37
Thiago, boa tarde, Estou com o seguinte problema: Localmente: Localhost, funciona legal (envia o arquivo pra pasta td ok) mas quando hospedo (uolhost) ele da erro. PHP Warning: move_uploaded_file(Arquivos_uploads/Lighthouse.jpg) [function.move-uploadedfile]: failed to open stream: Permission denied in E:\home\linoartvis1\Web\recebe_upload_3.php on line 170 PHP Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move C:\Users\TEMPUO~1.695\AppData\Local\Temp\php4B82.tmp to Arquivos_uploads/Lighthouse.jpg in E:\home\linoartvis1\Web\recebe_upload_3.php on line 170
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 11 of 28
Ou diz q nao foi possivel conectar ao servidor. Ja efetuei atricuio 777 as minhas pastas, e continua com o problema. o Que pode ser.
Marcos Rodrigues
3 de julho de 2011 at 12:29
Marcio
8 de junho de 2011 at 13:15
Ol meu caro Thiago, Amigo t tentando implementar isso, no para upload de arquivo em uma pasta, mas sim por email. Estou trabalhando em um Form que servir para enviar currculo. S que a parte de enviar por email depois me enrolou todo por causa da linha 53. C pode me dar um help a respeito disso? Forte abrao e parabns pelo excelente trabalho!
Fernando
10 de maio de 2011 at 11:17
Thiagooo
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 12 of 28
Valeww meu..
jakson
9 de maio de 2011 at 13:15
UMA PERGUNTA. Porque no upload de um arquivo maior que 100kb o servidor da error 500 e no grava e muito menos carrega o arquivo para pasta especificada?
Thiago Belem
Post author
Eduardo
2 de maio de 2011 at 19:19
Um abrao,
Edu Brasil
Israel
29 de abril de 2011 at 12:36
Andressa
20 de abril de 2011 at 14:39
Ol Thiago! Excelente artigo, me ajudou muito e funciona muito bem, mesmo eu sendo bem iniciante no assunto.
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 13 of 28
Eu gostaria de uma dica para fazer o seguinte: alterar o nome de todos os arquivos salvos mais ou menos assim nome_original+data/hora+.extensao. Vc poderia me ajudar? At tentei mexer em algumas coisas mas no entendo mto do assunto. Obrigada!
Prado Du
30 de novembro de 2010 at 10:32
Thiago, Parabns pelo site, extremamente til! Agora estou com uma dvida que pode ser simples. Gostaria que um email de confirmao fosse enviado junto ao anexo, muito complicado?
Monteirog12
19 de novembro de 2010 at 11:06
Thiago! Parabns pelo seu tutorial! Estou utilizando aqui na empresa e me surpreendeu! Agora, tem como voc me explicar um pouco sobre o tamanho do arquivo? Estou tentando aumentar para aceitar arquivos at 10MB mas no estou conseguindo. Abraos!
Asd
10 de novembro de 2010 at 0:43
PERFEITO!!! show de bola euq ue naum sou programador fiz funfar powerSANDRUS MARCELLUS
Dj-inovacao
7 de novembro de 2010 at 3:25
Thiago , excelente seu trabalho ! estou usando seu sistema ai de cima . e preciso saber , qual linha colocar pra ele enviar arq. mp3 acima de 2MB , como vc falou l. por favor amigo , me ajuda !
bruno charpinel
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 14 of 28
Willian Luan
5 de novembro de 2010 at 12:48
Cara Muito bom seu tutorial, mais estou com um poblema, aqui no local host do meu computador o codigo funciona perfeitamente, mais quando eu hospedo ele junto ao meu site ele para de funcionar d o seguinte erro
Warning: move_uploaded_file(fotos/cori.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/voltarel/public_html/recebe_upload.php on line 53 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move /tmp/phpGvb1Wo to fotos/cori.jpg in /home/voltarel/public_html/recebe_upload.php on line 53 No foi possvel enviar o arquivo, tente novamente
Thiago Belem
5 de novembro de 2010 at 12:50
www.seudescobrimento.com
4 de novembro de 2010 at 20:20
Cara, meus parabns!! Voc um dos bons programadores que existem no Mundo! Eu j tenho esse conhecimento, sobre o que voc falou no artigo, mas me admira muito a forma simples de como voc coloca a informao para quem precisa aprender, alm de colaborar passando o conhecimento. Obrigado, abraos, Isack Raid.
Login
16 de outubro de 2010 at 23:18
Noma 200.
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 15 of 28
Davi Antunes
11 de outubro de 2010 at 19:20
Boa dica!!! Me ajudou em um script no qual preciso comparar strings de um arquivo pr selecionado com registros na base de dados!!
Obrigado!! Davi
Edson Sacramento
7 de outubro de 2010 at 17:52
Marta
6 de outubro de 2010 at 20:28
Marcosrodregues
4 de setembro de 2010 at 19:49
eu queria um script um php que eviasse arquivos de at 20GB para uma pasta dentro do servidor com o nome da pasta que vai receber os aquivos seja download se voce conseguir porfavor envie um e-mail para marcosrodregues@yahoo.com.br e diga quanto custa que eu pago. mais tem que funcionar.
Vininewday
4 de setembro de 2010 at 1:45
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 16 of 28
Akihe
3 de agosto de 2010 at 11:48
/* ficaria tempo'+'extenso do arquivo original' ^^ se no der certo faz isso (pode ser conflito na variavel)
Thiago Belem
27 de julho de 2010 at 12:25
Adriano Angelo
27 de julho de 2010 at 0:17
tio artigo, fucionou 100% aqui! J pesquisei,j mexi, mas no consegui fazer manter a mesma extensao que a imagem tiha anteriormente, alguem poderia ajudar?
Mulambo
19 de setembro de 2010 at 22:09
Cara no tenho certeza, mas olha a lin 46 46 $nome_final = time()..jpg; t salvando todas as imgs em jpg, s mudar ali!
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 17 of 28
Marcelo Maffezoli
27 de julho de 2010 at 0:55
Thiago, obrigado pela resposta! fcil fazer isso via Ajax? Tem algum sistem/script que vc recomende? Obrigado!
Thiago Belem
20 de julho de 2010 at 1:47
Esse popup que voc falou Javascript (client-side) e o PHP server-side No tem como fazer (a no ser que voc envie e trate o upload via AJAX).
Marcelo Maffezoli
20 de julho de 2010 at 0:37
Thiago, parabns pelo post! Realmente o melhor e mais fcil de usar e entender que eu j encontrei! =) S uma coisa. Tem como ao termino do upload, ele no mostrar a mensagem em outra pgina, e sim com uma pop-up? Assim no precisa sair da pgina e quando o usurio der ok para fechar, ele j est na pgina novamente.
Obrigado!
Carine Monteiro
7 de julho de 2010 at 17:56
Thiago,
Obrigado pelo post, foi o melhor upload de arquivo que j encontrei na net, bem explicativo, estou com apenas um problema. meu sistema faz upload de arquivos compactados, no array de extenso coloquei as permitidas (rar, zip, tar, tar.gz, etc), mas quando envio um arquivo, ele fica retornando erro na comparao da extenso, como se no fosse permitido. Abaixo trecho modificado, caso possa me ajudar.
// Array com as extenses permitidas $_UP['extensoes'] = array('rar', 'zip', 'tar', 'tar.gz', 'bz2');
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 18 of 28
$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name']))); if (array_search($extensao, $_UP['extensoes']) === false) { echo Por favor, envie arquivos com as seguintes extenses: rar, zip, tar, tar.gz, bz2; }
Fernando
9 de dezembro de 2010 at 16:58
Ol! primeiramente, parabns pelo tutorial!! Eu tambm estou com o mesmo problema! se puder responder tambm para fernando@efikaweb.com eu ficarei grato. abrao;
Thiago Belem
9 de dezembro de 2010 at 17:04
if (!in_array($extensao, $_UP['extensoes']))
Lembrando que ele sempre vai pegar a ltima parte depois do ponto, ento arquivo.tar.gz tem a extenso gz. Abs
Thiago Belem
23 de junho de 2010 at 20:50
Infelizmente no Rogrido O servidor (Apache) no tem como saber o tamanho do seu upload antes de receber todo o arquivo.
Rodrigo
14 de junho de 2010 at 0:24
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 19 of 28
Vc sabe me dizer se o arquivo carregado antes de verificar a extensao e/ou tamanho? Imagine q vc est enviando um arquivo de 5 ou 8 Mb, necessrio enviar o arquivo pra s depois mostrar a mensagem de tamanho ou extensao nao permitida?
rafael
31 de maio de 2010 at 19:51
Ola Thiago, tenho a intenso de salvar a imagem/foto com o tamanho normal, e com o tamanho reduzido (thumb). como faria para isso? tem como fazer no upload, ou tenho q mandar a imagem, e depois copia-l?
Thiago Belem
1 de junho de 2010 at 11:38
@Rafael Existem tutoriais aqui no blog de redimensionamento de fotos com PHP.. Use a busca.
ellen
12 de maio de 2010 at 20:30
pL413R
3 de maio de 2010 at 7:19
Muito bom tutorial amigo, muito bem explicado e prtico funcionou direitinho para mim, estou querendo montar um sistema de upload de imagens para meu frum baseado neste daqui
http://www.bestuniom.net/postertool/
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 20 of 28
sei que feito em curl, e tem uma funo interessante de adicionar uma marca dagua, queria um igual desses acima para poder upar em localhost e remotamente
Lucas Moreira
29 de janeiro de 2010 at 20:35
Ok pessoal deu tudo certo, mas infelizmente estamos nas mos de servidores se a imagem demorar a carregar o servidor da pau no processo, ai j outra histria, o problema que o PHP primeiro carrega essa imagem para o servidor e depois ele reduz, o que eu particulamente acho errado, essa imagem deveria ser tratada dentro de uma pasta temp da maquina do cliente utilizando os recursos da mesma, e depois sim j reduzida e muito mais leve, enviada para o servidor. O PHP no client-side ou seja ele no trabalha do lado cliente. Alguem conhece algum outro recurso que possa ser utilizado para reduzir essa imagem dentro de uma pasta temporria para posteriormente ser enviar para o servidor?
Juliano Silva
18 de novembro de 2009 at 3:10
Cara, to adorando seus artigos, comprei alguns cursos de php em vdeo aulas na web e to estudando a fundo as coisas, quero me tornar programador php =), e tipo, to a mais ou menos 5 meses estudando j crio meus prprios sistemas, no inicio eu havia feito curso de dreamweaver avanado que tinha junto php mas num era o que eu queria eu quero aprender a fazer as coisas na unha, e com os novos cursos que eu comprei mais o seu blog eu to aprendendo isso valew
Tobias Tromm
14 de novembro de 2009 at 23:48
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 21 of 28
Teria como ao fazer o Upload do arquivo renomear ele mas no tirar a extenso?
Thiago Belem
15 de novembro de 2009 at 14:08
Charles Jefferson
18 de agosto de 2009 at 21:15
Eu s preciso salvar os nomes finais, os que ele ta digitando e apagando no Assim que ele terminar de adicionar, qdo clicar em enviar ele vai registrar os nomes no BD
Thiago Belem
18 de agosto de 2009 at 22:40
@Charles Ento use apenas JavaScript para criar mais campos e depois salve com o PHP.
Ronny Suzin
31 de agosto de 2010 at 13:19
Ol, sou iniciante nesta area, mas utilizei no meu sistema aki e fiz alguns ajustes,
tenho no mesmo form, varias partes aonde se carregam as imagens, mas no necessrio o carregamento, gostaria de uma mudana no script desta forma: - Se no form for carregado a imagem, assim enviar e mostar a mesma; - Mas se nao for carregada a imagem, apenas deixar em branco.
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 22 of 28
Charles Jefferson
18 de agosto de 2009 at 17:46
Tenho uma outra dvida, me diga uma maneira fcil de fazer o seguinte: Tipo assim tenho um textbox onde o usurio vai digitar alguns nomes de pessoa, ao clicar no boto inserir ele joga abaixo nome dessa pessoa.
Pra alterar esse seu cdigo pra fazer isso, seria muito complicado? Tem uma maneira mais fcil de se fazer isso? Tava pensando tambm em abrir um pop-up e desse pop-up voltasse ao form inicial (mas no sei fazer isso sem deixar de atualizar o form)
Thiago Belem
18 de agosto de 2009 at 19:46
@Charles Voc vai precisar fazer isso com JavaScript e PHP (se quiser salvar a lista enquanto o usurio vai adicionando e removendo) pra isso voc vai precisar usar AJAX.
Charles Jefferson
13 de agosto de 2009 at 18:03
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 23 of 28
um site do governo, sou func. pblico e tou precisando de fazer algo do tipo veja (http://www.easyalgo.com/examples/eaflashupload/simpleupload.html )
Colocar no meu form a opo da pessoa fazer upload, mas de vrios arquivos pra poder guardar no registro que ele vai cadastrar.
O que tou querendo um sistema de cadastro de trabalho cientifico, onde a pessoa vai cadastrar uma pesquisa, s que nessa pesquisa ele vai anexar ao registro todas as informaes sobre sua pesquisa(arquivos de word, excel, fotos, audio, etc.)
Ento minha dvida na questo de fazer isso vrias vezes no mesmo form.. achei alguns scripts de mltiplos arquivos, mas os que encontrei j so pr-definidos(maximo 3 ou 5), eu preciso de algo que no tenha limites, pois pode ser 1,2,3 ou 10 e que no fique aparecendo aquele monte de buttons file. Espero que expliquei claro ahh e obrigado a pela ateno.
Thiago Belem
13 de agosto de 2009 at 18:28
@Charles Infelizmente vai ter que ficar aparecendo o monte de buttons Voc pode ir adicionando de um em um (sem processar o upload) usando JavaScript para criar novos input fyle e depois usar o foreach no PHP para processar todos os uploads.
No recomendado fazer esse esquema de vrios uploads de uma vez pois voc vai precisar configurar o servidor pra ele aguentar toda essa carga, afinal, se voc enviar 10 arquivos de 3mb so 30mb de 1 s vez. Procure fazer um upload por vez e depois volte pra tela de upload caso o usurio queira cadastrar +1 arquivo.
Charles Jefferson
13 de agosto de 2009 at 15:02
Ol.. parabns pelo blog, tenho visto timos contedos por aqui. Tou precisando de ajuda, vc manja um pouco de Javascript? Baixando um exemplo na net, fiz algumas alteraes, s que est funcionando perfeitamente no Firefox mas no IE no Geralmente costuma ser o contrrio, no sei onde t o erro. Se puder dar uma olhada pra mim. http://10.169.3.3/tela_upload.htm
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 24 of 28
Thiago Belem
13 de agosto de 2009 at 15:22
@Charles O endereo que voc me passou um IP interno de rede Seria bom se voc falasse qual o problema e o que voc est tentando fazer.
Diego
6 de agosto de 2009 at 17:41
estou tendo alguns problemas, na hora de enviar um arquivo retorna essas mensagens:
Warning: move_uploaded_file(uploads/tracert.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/a6958900/public_html/upload5/recebe_upload.php on line 53 e
Thiago Belem
6 de agosto de 2009 at 20:18
@Diego O problema copiar e colar um codigo que voc nem sabe o que faz ou como funciona Nunca faa isso a mesma coisa que voc sair repetindo uma frase em outra lingua sem saber o que ela significa.. vc pode ter problemas Leia o tpico novamente: Em alguns servidores para voc poder salvar um arquivo em uma pasta voc precisa de permisso de usurio (tambm conhecido como CHMOD), raro precisar configurar isso, mas se por obra divina o seu arquivo no estiver indo pra pasta que voc definiu, tente dar um CHMOD 777 na pasta de destino.
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 25 of 28
thiago
3 de agosto de 2009 at 16:19
O mesmo problema da Julia MAia. Cara deu quase tudo certo, apenas a validao do tamanho da imagem que no bate coloco qualquer tamanho, por menor que seja, ele diz que est grande Agradeco se puder me ajudar! Brigado pelo tuto.!
Thiago Belem
4 de agosto de 2009 at 2:48
@Thiago J identifiquei um pequeno problema na definio da varivel $_UP['tamanho'] s multiplic -la por 1024 que vai funcionar.. Atualizei o script.
Boa noite Tiago muito bom seu blog.. gostei demais das informaes porem preciso da sua ajuda fiz tudo certinho s que na hora de mover para a pasta uploads no meu servidor terra ele exibe o erro da condio if No foi possvel enviar o arquivo, tente novamente j verifiquei a pasta, habilitei opes da pasta uploads no servidor do terra enfim se for possivel me fornea uma orientao por favor desde j valeu pela fora abrao.,
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 26 of 28
Thiago Belem
1 de agosto de 2009 at 2:42
@Wadson D uma olhada nesse outro artigo meu sobre o assunto, talvez fique mais fcil de entender como o Upload funciona: Upload de Arquivos Como tudo funciona
Diego
17 de julho de 2009 at 20:49
Ol, Thiago. O script estava igual ao seu tutorial. Realmente no consegui resolver (e o engraado que ele estava funcionando normalmente antes), ento eu retirei a verificao. Deve ser o servidor, acontece umas coisas bem bizarras com o Terra. Obrigado pela sua resposta. Um abrao.
Diego
14 de julho de 2009 at 21:03
Ol, Thiago. No sei se estou com problemas de configurao no servidor, mas acontece que o seu script, que antes estava funcionando normalmente, comeou a enfrentar os erros que a Julia mencionou acima (coloco qualquer tamanho, por menor que seja, ele diz que est grande). Voc tem ideia do que pode ser? Agradeo pela ateno. Diego
Thiago Belem
15 de julho de 2009 at 3:32
@Diego Verifica se voc est usando o script corretamente.. Verifica se a linha 37 est correta. Abraos
Diego
11 de julho de 2009 at 15:59
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 27 of 28
Thiago, parabns. Sempre que preciso trabalhar com PHP fuo no seu site primeiro porque seus tutoriais realmente ajudam demais.
Valeu. Abrao!
Flvio Martins
27 de maio de 2009 at 19:05
Opa, muito bacana seu esquema de up-load. Estou nesse momento, h dias, procurando alguma forma de enviar imagens pro servidor, e atravs do php, gerar um xml, que ser lido pelo flash.
Poderia me dar um help neste problema? Uma observao: No sei nada de php. Sei alguma coisa de Flash e design.
Agradeceria tambm, se possvel, me enviasse links de assuntos relacionados com a criao de um esquema que administrasse um site, enviando fotos, textos e links pra tudo ser montado num xml, e eu ler este arquivo no flash. Muito obrigado pela ateno e bom resto de semana!
Flvio Martins
Thiago Belem
5 de abril de 2009 at 12:54
Julia Maia
5 de abril de 2009 at 3:42
Cara deu quase tudo certo, apenas a validao do tamanho da imagem que no bate coloco qualquer tamanho, por menor que seja, ele diz que est grande
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014
Page 28 of 28
Rosicler
20 de maro de 2009 at 14:03
Muito legal seu script, mas gostaria de saber mais uma coisa, posso usar o mesmo script para fazer a atualizao dos dados?
Andr
14 de maro de 2009 at 16:43
Cara, sensacional o script. Me economizou muito tempo de filosofia pra criar uma logica de upload de arquivos. Parabns. Valeu de novo!
http://blog.thiagobelem.net/upload-de-arquivos-com-php/
14/03/2014