Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Meus amigos,
Eu tenho uma aplicação de pedido onde o tem um campo onde ele faz o UPLOAD da ordem de compra. Este upload esta fazendo normalmente.
Eu pego o nome do arquivo e grava em um campo da minha tabela.
O problema é que quando disponibilizo um link para ele fazer o link em HTML/PHP para ele fazer o Download não funciona para arquivos .MSG.
Segue a linha que estou fazendo com o html:
PS.: O Upload de arquivos .MSG funciona corretamente.
<a href="<?php echo $LinkNfPdf; ?>" data-toggle="tooltip" style="font-size: 12px;" title="Download Ordem Compra" download="">
<?php echo $pedi_ordem_compra_arq; ?>
</a>
Onde **$LinkNfPDF** é a string que contém o endereço e o nome do arquivo, e **$pedi_ordem_compra_arq** é somente para mostrar o nome do arquivo.
Para arquivos de extensão PDF o download funciona correto.
Alguém conhece alguma maneira de fazer o download com outras extensões? Mais especificamente .MSGGabriel,
Valeu pela dica
Eu peguei o link que você mandou e fiz outras pesquisas em cima do conteúdo e consegui fazer desta maneira:
set_time_limit(0);
$aquivoNome = $_GET['ordem'];
$arquivoLocal = 'ordem_compra/'.$aquivoNome;
$codigovenda = $_GET['id'];
if (!file_exists($arquivoLocal)) {
exit;
}
$novoNome = $aquivoNome;
header("Content-Type: application/save");
header("Content-Length:".filesize($file));
header('Content-Disposition: attachment; filename="' . $aquivoNome . '"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
$fp = fopen("$arquivoLocal", "r");
fpassthru($fp);
fclose($fp);
Muito obrigado!tem uma falha de segurança bem grande ai...
imagina se o cara força o queryString assim:
seusite.com.br/upload.php?ordem=../conexao.php
Sim ele baixa o arquivo .php que quiser....
Você deveria tratar melhor essa variavel $_GET['ordem'].
Abs
Veja se ajuda:
http://blog.thiagobelem.net/forcando-o-download-de-arquivos-com-php