[Resolvido] Baixar arquivos PDF,XML...
Bom dia, queria saber se alguém saberia me informar como faço para criar um botao para baixar um arquivo, mas deixando o usuario escolher qual o arquivo(exemplo notas fiscais...), o usuario passaria o parâmetro em vez de deixar ja pré-definido qual arquivo vai ser baixado no botao...
segue o que encontrei abaixo...
Vendas.php
<?php
require '../../../functions/conexao.php';
?>
<div class="row"><br>
<div class="col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">Vendas</div>
<div class="panel-body">
<form>
<br/>
<button type="submit"><a href="download.php?arquivo=377328.pdf">Baixar PDF</a></button>
</form>
</div>
</div>
</div>
Download.php
<?php
// Aqui vale qualquer coisa, desde que seja um diretório seguro :)
define('DIR_DOWNLOAD', '\\10.0.0.140\EMPRESA\Nota_');
// Vou dividir em passos a criação da variável $arquivo pra ficar mais fácil de entender, mas você pode juntar tudo
$arquivo = $_GET['arquivo'];
// Retira caracteres especiais
$arquivo = filter_var($arquivo, FILTER_SANITIZE_STRING);
// Retira qualquer ocorrência de retorno de diretório que possa existir, deixando apenas o nome do arquivo
$arquivo = basename($arquivo);
// Aqui a gente só junta o diretório com o nome do arquivo
$caminho_download = DIR_DOWNLOAD . $arquivo;
// Verificação da existência do arquivo
if (!file_exists($caminho_download))
die('Arquivo não existe!');
header('Content-type: octet/stream');// Indica o nome do arquivo como será "baixado". Você pode modificar e colocar qualquer nome de arquivo
header('Content-disposition: attachment; filename="' . $arquivo . '";');
// Indica ao navegador qual é o tamanho do arquivo
header('Content-Length: ' . filesize($caminho_download));
// Busca todo o arquivo e joga o seu conteúdo para que possa ser baixado
readfile($caminho_download);
exit;Discussão (3)
Carregando comentários...