Hoje vou mostrar como fazer upload de arquivos atraves do PHP, para utilizar em outros exemplos que vou postar aqui no blog.
O Upload de arquivos consiste na seleção de um arquivo qualquer no computador do usuário para ser enviado por um formulário HTML, este formulário envia as informações para uma pagina onde copiamos o arquivo do computador local para uma pasta dentro do servidor onde o site está hospedado. Após o upload podemos compactar, renomear, entre muitas outras funções que o PHP oferece.
Crie um arquivo chamado upload.html e coloque dentro o codigo conforme exemplo abaixo.
A action do form esta apontando para o arquivo “upload.php”
1 2 3 4 5 6 7 8 9 10 11 12 | <html> <form id="upload" name="upload" enctype="multipart/form-data" method="post" action="upload.php"> <p> <label> <input type="file" name="file" id="file" /> </label> </p> <p> <input type="submit" name="enviar" id="enviar" value="Enviar arquivo..." /> </p> </form> </html> |
Agora vamos criar o arquivo upload.php que fará todo o trabalho.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php //verificamos se o arquivo foi informado if (isset($_FILES[file])) { $url = "/pasta-uploads/"; //caminho onse será salvo os arquivos $carregar = $_FILES[file][tmp_name]; //arquivo temporario $novo_nome = date('Y-m-d')."_".$_FILES[file][name]; //criamos uma variavel com o novo nome do formato AAAA-MM-DD_nome_arquivo if(move_uploaded_file($carregar,$url)){ //copia o arquivo do computador para o servidor rename($url.$carregar, $url.$novo_nome);//renomeia o arquivo echo "arquivo enviado com sucesso"; }else { echo "falha ao carregar arquivo"; } } else { echo "Nenhum arquivo foi selecionado!"; } ?> |
nao funcionou pra mim
Carla, apareceu alguma mensagem de erro?
Verifique se no seu formulário você colocou o código enctype=”multipart/form-data” method=”post”
O erro que deu foi estes:
Warning: move_uploaded_file(http://www.drdoggie.com.br/up) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in /home/drdoggie/www/upload.php on line 18
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘/tmp/phpmBcLit’ to ‘http://www.drdoggie.com.br/up’ in /home/drdoggie/www/upload.php on line 18
falha ao carregar arquivo
Ricardo, tudo indica que o caminho declarado não existe, ou não tem permissão de escrita no diretório.