Ir para conteúdo

POWERED BY:

Arquivado

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

gRoOvE

link para o file ir direto do upload pra download..

Recommended Posts

bom galera, fiz meu sistema de upload aki, ta funcionando certinho...agora quero q o file que foi uploadeado tenha em certa parte do site um link pra download, td dinamico. Nao tenho nem nocao da logica pra fazer isso, se alguem puder dar uma luz http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu criaria uma tabela num banco de dados para armazenar o nome de todos os arquivos que foram enviados. Fazendo uma busca nessa tabela, é possível recuperar esses nomes e gerar os links para download.

 

É possível separar os arquivos por categoria, como se fosse um site de downloads. Também é possível gerar nomes aleatórios para os arquivos, fazendo com que não seja possível baixar um arquivo apenas colocando o nome dele na barra de endereços; isso é útil quando se está fazendo um contador de download, por exemplo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi direto ao ponto cara, eu consegui fazer dando um SELECT e pgando o nome do file que foi upado...mas quero que ele indentifique por ID e nao pelo nome, pois como você falou vai prejudicar no contador de downlodas que quero implementar nesse script tb, agora nao sei como fasso pra mudar o nome do arquivo para o id dele, pra eu conseguir identificar ele por id "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa colocar o ID dele no nome do arquivo. Você deve usar o ID numa busca ao BD, para encontrar o nome do arquivo.

 

Você pode, por questões de segurança, criar um sistema que nomeie aleatoriamente os arquivos, ou apenas adicione códigos no final dos nomes, evitando arquivos homônimos, o que gerará sobreescrita de arquivos. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamo com calma, preciso resolve o link primero adh asih asudhasd....mas ae q ta, nao consigo por o link pra dl apenas com SELECT, pode da um exemplo simples ae ?? soh pra clarea :D vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que haja estes campos na tabela arquivos

 

 

id | nome
1  | arquivo1.jpg
2  | arquivo2.gif

Ao acessar a URL www.site.com/download?id=1, será feita uma busca pelo nome do arquivo cujo id é 1 e será gerado o link para download:

 

PHP
//conexão ao BD

//SQL: Select nome From arquivos Where id = 1;

//gerar link com o nome retornado pelo select

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples de resolver.

Bom... como ja dito pelo amigo acima, seria interessante você colocar a id do banco de dados junto ao nome do arquivo na hora de fazer upload, para não ocorrer substituição de um arquivo ja existente no servidor com o mesmo nome!

 

exemplo de como ficaria o tal arquivo no banco cujo o nome da tabela: tb_arquivos:

 

id | nome_arquivo |

--------------------------------------

01 | 01nome_arquivo_qualquer.extenção |

 

Para gerar o link para download de um arquivo em pdf como exemplo:

 

< ? 

$list = " SELECT nome_arquivo FROM tb_arquivos ";
$query = mysql_query ( $list );

   while ( $arquivo = mysql_fetch_array ( $query ) )
  {
   echo " < a href='diretorio_do_servidor_onde_esta_o_arquivo/< ? = $arquivo[nome_arquivo] ? >' target='_blank' > arquivo para download < / a > <br /> ";  
  }

? >

 

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/natal_happy.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh sim velho, dessa maneira eu consegui fazer acho que você nao leu o topico todo, eu quero colocar o link pro download pela id e nao pelo nome do arquivo "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

po beraldo nao to conseguindo gerar o link SOMENTE pelo id cara, tipo fica assim dai /upload/id=1, dai vai procura pelo arquivo com nome 1 "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar explicar melhor, tenho uma pagina chamada index.php?categoria=replays que lista meus arquivos a serem downlodeados, ai quero que quando forem fazer download e deixar o mouse em cima do link soh apareca index.php?categoria=replays&id=1, ou seja, soh apareca o numero ID do arquivo e nao o NOME dele, tem um exemplo nesse site http://www.kmkteam.com.br/index.php?frame=replays ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se ta certo mas você pode fazer algo assim

 

PHP
$id = $_GET['id'];

 

if ($id != "") {

[pegue o arquivo pelo sql e coloque a variavel $arquivo com o nome dele]

echo "<a href='www.site.com.br/downloads/$arquivo'>Download Aqui</a>";

} else {

coloca aqui o modo q você mostra os links

ex. pro download de id 1

echo "<a href='www.site.com.br/index.php?categoria=replays&id=1>Download aqui</a>";

}

 

seria isso?

 

 

EDIT:

epa, agora q fui ve o site xDD

 

coloca la algo como

 

PHP
$id = $_GET['id'];

 

 

$pedido = " SELECT nome_do_arquivo FROM tb_arquivos where id='$id'";

$linha = mysql_query ( $pedido );

 while ( $arquivo = mysql_fetch_array ( $linha ) )

  {

echo "<script>

window.open('www.site.com.br/downloads/$arquivo', 'dowload', 'opcoes')

</script>";

  }

 

 

acho q agora sim xDD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha Renan to quse conseguindo, consegui fazer do jeito que você falou mas soh redirecionando para pagina index.php?categoria=replays⊂=down&id=1, dai ele abre o download soh q redireciona pra uma pagina em branco, queria fazer pra abri direto a janela de download na index.php?categoria=replays&id=1, mas mexi em td aqui na forma do link lah com onclick, target=_blank...nao consigo "/

meu link ta +- assim:

<a href="index.php?categoria=replays&id=<?=$reg_replays['id'];?>" onclick="<script>window.open('/projeto/upload/<?$arquivo;?>')</script>">DL</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer de um jeito aqui, mas a url vai junto e se a pessoa da um f5 na pagina, abre o download denovo...teria como fazer sem mostrar a url no browser ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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