Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme Donizetti

Upload e Download com PHP

Recommended Posts

Olá, pessoal!

Pelo nível de relevância que um código de upload e download possui vou compartilhar com vocês uma codificação em PHP que realiza estas dua funções. É bem simples, então vamos lá...

Vamos começar pelo UPLOAD. Imagine que você quer subir um arquivo (qualquer um), crie primeiro a interface em HTML:

 

<!DOCTYPE html>
<html lang="pt_br">
<head>
	<title>UPLOAD</title>
	<meta charset="utf-8">
</head>
<style type="text/css">
	body {
		font-family: arial;
		background-color: #c0c0c0;
	}
	h1 {
		color: #FF0000;
	}
</style>
<body>
	<center>
		<h1><center>Upload de arquivos</center></h1>
		<label>selecione um arquivo:</label>
		<form method="POST" action="upload.php" enctype="multipart/form-data">
		<input type="file" name="arquivo" required=""><br /><br>
		<input type="submit" name="enviar" value="Enviar">
	</form>
	</center>
</body>
</html>

O input do HTML deve ser do tipo FILE como está no código. Agora, o PHP que realiza o upload:

 

<?php

$arquivo = $_FILES["arquivo"];

move_uploaded_file($arquivo["tmp_name"], "Uploads/". $arquivo["name"]);

echo "
					<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=index.html''>
					<meta charset='UTF-8'>
   					<script type=\"text/javascript\">
						alert(\"Arquivo enviado!\");
					</script>

				";

?>

Notem que na 3° linha do código acima eu indiquei um caminho para armazenar o arquivo enviado, o nome da pasta é Uploads e você deve criar uma pasta com esse mesmo nome em seu computador.

Upload pronto! Agora, o DOWNLOAD por nome...

Crie um novo código HTML que recebe o nome do arquivo a ser baixado...

 

<!DOCTYPE html>
<html lang="pt_br">
<head>
	<title>DOWNLOAD</title>
	<meta charset="utf-8">
</head>
<style type="text/css">
	body {
		font-family: arial;
		background-color: #c0c0c0;
	}
	h1 {
		color: #FF0000;
	}
</style>
<body>
	<center>
		<h1><center>DOWNLOAD DE ARQUIVO <strong>POR NOME</strong></center></h1>
		<label>Digite um nome:</label>
		<form method="POST" action="download.php">
		<input type="text" name="nomearquivo" required="">
		<input type="submit" name="enviar" value="Buscar">
		</form>
	</center>
</body>
</html>

E agora vamos criar outro código e salvá-lo com a extensão .php embora contenha HTML:

 

<!DOCTYPE HTML>
<html lang="pt_br">
	<head>
		<title>Download</title>
		<meta charset="utf-8" />

	</head>
	<body>
	<?php
	$nome = $_POST["nomearquivo"];
    echo "<tr>".
         "<td><a href='Uploads/$nome' download>Baixar:&nbsp;&rarr;&nbsp;$nome</a></td>".
		 "</tr>";
			 
			?>
	</body>
</html>

PRONTO! Agora tudo funciona corretamente. Mas há ainda algumas considerações cruciais:

1) no momento do download você deve digitar exatamente o nome do aquivo que está na pasta Uploads;

2) a extensão do arquivo deve ser informada, exemplo: informaticabasica.pptx

 

Pode fazer muito mais a partir deste simples código compartilhado, porém, aqui está o esqueleto do funcionamento de Upload e Download. Espero ter ajudado alguém, bons estudos.... Forte abraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.