Upload de arquivos em PHP

No PHP é fácil fazer a recepção de arquivos, seguindo algumas regras:

O formulário deve ter o complemento “multipart”.

<form action="upload_file.php" method="post" enctype="multipart/form-data">

Criar uma entrada tipo “file” para o usuário escolher o arquivo e um botão para enviar os dados.

<form action="upload_file.php" method="post" enctype="multipart/form-data">
   <label for="file">Filename:</label>
   <input type="file" name="file" id="file" />
   <br />
   <input type="submit" name="submit" value="Submit" />
</form>

No programa apontado pelo “action”, verificar se houve algum erro durante o upload.

if ($_FILES["file"]["error"] > 0) {
   echo "Return Code: " . $_FILES["file"]["error"] . "<br /> ";
}

Depois salvar o arquivo em diretorio definitivo. Pode se necessário mudar a permissão de gravação para o usuario “www-data”. Usar o caminho completo através de $_SERVER[‘DOCUMENT_ROOT’].

} else {
   echo "Upload: " . $_FILES["file"]["name"] . "<br />";
   echo "Type: " . $_FILES["file"]["type"] . "<br />";
   echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
   echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
   $arq = $_SERVER['DOCUMENT_ROOT'].'/complemento/'.$_FILES["file"]["name"];
   if (file_exists($arq))      {
      echo $_FILES["file"]["name"] . " already exists. ";
   } else {
      move_uploaded_file($_FILES["file"]["tmp_name"], $arq);
      echo "Stored in: " . "fotos/" . $_FILES["file"]["name"];
   }
}
?>

O complemento ‘/complemento/’ pode ser somente uma barra; ‘/’.

Anúncios
Posted in PHP

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s