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.
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
-
DevCast
-
DevCast
-
DevCast
-
DevCast
-
DevCast