Ir ao conteúdo
  • Cadastre-se

Sistema de envio e download PHP


Posts recomendados

Olá,

 

O que eu preciso é o seguinte. Eu tenho um sistema em PHP. Gostaria de criar uma página HTML em que a pessoa possa enviar um arquivo do seu computador para o servidor online em que está hospedado o sistema. Depois que ela enviar, esse mesmo arquivo aparecer nessa mesma página e ao clicar em cima dele possa se fazer o download do mesmo. Entenderam?

 

Aguardo!

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Luuuizmb,

 

Sim isso é relativamente fácil de fazer, se possuir conhecimento mediano sobre php.

 

Basicamente tu terás um arquivo html contendo um formulário com  enctype="multipart/form-data", um arquivo php para receber o dado do formulário e fazer o upload.

No mesmo arquivo php, você testa.. se o upload foi bem sucedido. 

 

Se sim, você pode usar um while para listar todos os arquivos do diretório e ainda criar um link do mesmo.

 

Referência de estudo:

http://www.w3schools.com/tags/att_form_enctype.asp

http://www.devmedia.com.br/listando-arquivos-de-pastas-com-php/17716

Link para o comentário
Compartilhar em outros sites

Pode me dar um esboço? Ou me ajudar na construção? Estou perdido.

 

Veja:

<form method="post" action="recebe.php" enctype="multipart/form-data"><fieldset>	<label for="doc">Seu documento:</label>	<input type="file" name="arquivo" id="documento" />	<input type="submit" value="Salvar" /></fieldset></form>

E este é meu recebe.php:

<?php	// O nome original do arquivo no computador do usuário	$arqName = $_FILES['arquivo']['name'];	// O tipo mime do arquivo. Um exemplo pode ser "image/gif"	$arqType = $_FILES['arquivo']['type'];	// O tamanho, em bytes, do arquivo	$arqSize = $_FILES['arquivo']['size'];	// O nome temporário do arquivo, como foi guardado no servidor	$arqTemp = $_FILES['arquivo']['tmp_name'];	// O código de erro associado a este upload de arquivo	$arqError = $_FILES['arquivo']['error'];	if ($arqError == 0) {		$pasta = '../documentos/';		$upload = move_uploaded_file($arqTemp, $pasta . $arqName);	}?>

Fiz certo?

Link para o comentário
Compartilhar em outros sites

  • Moderador

Sim tá no caminho certo.

O que podes fazer ali é testar a variável $upload. Se executado, você apresenta uma mensagem de sucesso. senão uma mensagem de erro.

Ainda dentro do "if" você pode até criar um link do arquivo.. por exemplo:

 $path = $pasta . $arqName; echo "<br /><a href='$path'>Clique aqui para acessar o arquivo</a>";

Mas isso tem um problema, o link vai abrir o arquivo no navegador( bom para txt, pdf..) mas seu objetivo é forçar o download.

Aí você cria um outro arquivo php chamado download.php

 

Neste arquivo conterá algumas linhas que forçam o download.

Para referencias de estudo:

Forçar download com php

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...