Listando diretório e gerando link de download dos arquivos encontrados.

21/03/2017

0

PHP

Bom dia Pessoal,

Preciso de uma ajudar de vocês, e se poder explicar seria melhor ainda !

Estou com esse Código.

<?php
   $path = "uploads/";
   $diretorio = dir($path);
    
    echo "Lista de Arquivos do diretório '<strong>".$path."</strong>':<br />";    
   while($arquivo = $diretorio -> read()){
      echo "<a href='".$path.$arquivo."'>".$arquivo."</a><br />";
   }
   $diretorio -> close();
?>


Ele busca em meu diretório e lista meus arquivos, no entanto eu preciso que esses mesmos arquivos encontrados ao ser clicado forcem o download, situação que não está a acontece. Minha pergunta é, como posso aprimorar esse script, para que quando o arquivos listado ao ser clicado ele faça o download dos arquivos ?
Aurélio Castro

Aurélio Castro

Responder

Posts

30/05/2017

Eduardo Chaves

Olá Aurélio, bom dia!

Você pode tentar criar uma pagina que vai receber os seus arquivos e fazer download, vamos chamar de download.php, veja abaixo:

download.php
$arquivo = $_GET["arquivo"];

header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$arquivo.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($arquivo));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');
// Envia o arquivo para o cliente
readfile($arquivo);


e a pagina que você tem hoje ficaria assim:

<?php
$path = "uploads/";
$diretorio = dir($path);

echo "Lista de Arquivos do diretório '<strong>".$path."</strong>':<br />"; 
while($arquivo = $diretorio -> read()){
echo "<a href='download.php?arquivo=$path.$arquivo'>".$arquivo."</a><br />";
}
$diretorio -> close();
?>


lembrando que o arquivo download.php deve estar na mesma pasta do arquivo que lista seus arquivos.

um abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar