Neste artigo explicarei como fazer o download de arquivo via FTP.
Para iniciar fiz uma listagem de todos os arquivos cadastrados em meu banco de dados, já com o link para o download como na imagem a baixo:
Como estou fazendo uma consulta no banco de dados o resultado vai vir de um record set ficando assim a tabela:
A parte sublinha é a parte do link. Neste link será direcionado para minha página "baixar.php" com o parâmtro "file=o nome do arquivo". Agora vamos colocar como funciona o arquivo "baixar.php" pois é ele é responsável por fazer o Download.
Código comentado:
$pasta = 'ftp'; //nome da pasta no seu FTP, onde os arquivos foram guardados
if(isset($_GET['file']) && file_exists("{$pasta}/".$_GET['file']))
{
$file = $_GET['file']; // variável que pega o nome do arquivo que deseja fazer o download
$type = filetype("{$pasta}/{$file}"); //pega o tipo do arquivo que deseja fazer o download
$size = filesize("{$pasta}/{$file}"); // pega o tamanho do arquivo
header("Content-Description:File Transfer"); //descriptografando para fazer o download
header("Content-Type:($type)"); // pegando o tipo
header("Content-lenght:($size)"); // pegando o tamanho
header("Content-Disposition: attachment; filename=$file"); //verificando e inicializando o downlaod
readfile("{$pasta}/{$file}"); //fazendo o download
exit; // saindo
}