FTP PHP : Download de arquivo

Neste Artigo será mostrando um exemplo de como funciona e como fazer download de um arquivo do FTP com PHP.

<HTML> <BODY>

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:

<table border="0"> <tr align="center" bgcolor="#999999"> <td>Área</td> <td>Tipo Materila</td> <td>Titulo</td> <td>Link</td> <td>Opções</td> </tr> <?php do { ?> <tr> <td><?php echo $row_Recordset1['are_descricao']; ?></td> <td><?php echo $row_Recordset1['tipmat_descricao']; ?></td> <td><?php echo $row_Recordset1['mat_titulo']; ?></td> <td> <a href="../../baixar.php?file=<?php echo $row_Recordset1['mat_url']; ?>"> <?php echo $row_Recordset1['mat_url']; ?></a> </td> <td> <a href="ftp_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">^</a> | <a href="del_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">X</a> </td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> </table>

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 } </BODY> </HTML>

Artigos relacionados