Ir para conteúdo
Fórum Script Brasil
  • 0

Upload e Download de Arquivos utilizando MySql


JuxCo!

Pergunta

Bem galera, to precisando de uma ajuda...

É o seguinte preciso criar um site pra empresa onde trabalho e especificamente esse site deve conter um página para o usuário fazer o upload de um arquivo .xls ou .doc juntamente com algumas informações e automaticamente essas informações deverão aparecer numa outra página, junto com a opção de realizar o download desse arquivo....

O problema q manjo muito pouco de php...até a parte das postagens das informações, salvando elas em um bd (MySql) e sua posterior publicação eu conseguir fazer...o problema é o arquivo em si...

como faço pra salvar eles numa pasta pré-determinada, seu nome no bd e depois disponibilizar tudo isso de uma vez?

Desde já agradeço o help...

Boa tarde...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tentei procurar algum script ou tutorial pronto pra você entender, mas tudo o que tem por aí é muito complexo.

Criei um pequeno sistema que faz o upload do arquivo e o salva no db para você poder entender e adequar ao que você precisa.

Esse script não confere o formato do arquivo e nem se ele já existe no diretório, tudo isso pode ser feito com um pouquinho de trabalho.

index.php - Página inicial com o formulário

<form name="Form_Upload_Arquivo" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="Arquivo" />
<input type="submit" value="Enviar" />
</form>
upload.php - Script que faz o upload do arquivo e inclui no db
<?php
include("db.php");
if (isset($_FILES["Arquivo"])){
    $Arquivo = $_FILES["Arquivo"];
    $Pasta_Destino = "arquivos/";
    $Arquivo_Nome = $Arquivo['name'];
    move_uploaded_file($Arquivo['tmp_name'], $Pasta_Destino . $Arquivo_Nome);
    mysql_query("INSERT INTO `arquivos` (`arquivo_nome`,`arquivo_local`) VALUES ('$Arquivo_Nome','$Pasta_Destino')");
    header("Location: mostra_arquivos.php");
    }
?>
mostra_arquivos.php - Página que mostra os arquivos que foram enviados e gera um link para baixá-los
<?php
include("db.php");

$consulta = mysql_query("SELECT * FROM `arquivos` ORDER BY `arquivo_nome` ASC");
if ($resultado = mysql_fetch_array($consulta)){
    do {
        echo "<a href=\"" . $resultado["arquivo_local"] . $resultado["arquivo_nome"] . "\">" . $resultado["arquivo_nome"] . "</a><br />";
        }
    while($resultado = mysql_fetch_array($consulta));
    }
?>
db.php - Arquivo que faz a conexão com o banco de dados
<?php
$Usuario = "USUARIO";
$Senha = "SENHA";
$Host = "HOST";
$Database = "DB";

if (mysql_connect($Host, $Usuario, $Senha)){
    mysql_select_db($Database);
    }
?>
A estrutura do db é bem simples
CREATE TABLE IF NOT EXISTS `arquivos` (
  `arquivo_id` int(10) NOT NULL AUTO_INCREMENT,
  `arquivo_nome` varchar(50) NOT NULL,
  `arquivo_local` varchar(100) NOT NULL,
  PRIMARY KEY (`arquivo_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Além disso eu criei uma pasta chamada arquivos.

Você pode criar qualquer pasta, ou mudar a variável $Pasta_Destino do arquivo upload.php pra uma pasta já existente.

A pasta precisará ter permissões de leitura e gravação senão o script retornará erro na hora de fazer o upload.

Link para o comentário
Compartilhar em outros sites

  • 0
        Quando eu vou no link ele não faz o download ele fala que a url não foi encontrada, o que eu devo colocar no href?
        As imagens e arquivos estao tipo Pasta1->Pasta2->Pasta3->Arquivo sa ser ferito o download
 echo "<a href=\"" . $resultado["arquivo_local"] . $resultado["arquivo_nome"] . "\">" . $resultado["arquivo_nome"] . "</a><br />";
Editado por Guilherme Antunes
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...