Upload de arquivos PHP

Posted by Bento | Posted in Artigos, Desenvolvimento, PHP | Posted on 05-10-2010-05-2008

4

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!";
         }
 
?>

Comments posted (4)

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.

Write a comment